@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

[ASP.NET] CSVダウンロードで開いた時のシート名

投稿者投稿内容
クエイサー
会議室デビュー日: 2003/12/26
投稿数: 6
投稿日時: 2004-04-08 12:21
こんにちは、
ASP.NETでWebアプリケーションを開発しているのですが、 下記のコードで
CSVのダウンロードを行い、「開く」を実行した場合において、シート名が
実行したASPのファイル名になってしまう事象が発生しております。
「保存」などを行う際に表示される場合にはちゃんと「DOWNLOAD.CSV」
が表示されております。
シート名をファイル名に設定する方法をどなたかご存知では
ないでしょうか。

ご教授いただきたくお願い致します。

バージョンは.NET2003、フレームワークは1.1です。
また、他のシステムと合わせる為にEXCELは直に
起動ではなくIE上でのEXCEL起動となくてはなりません。
また、内部でファイルを生成しない方向で作成しております。

===============================================================================
System.Text.Encoding encoding = System.Text.Encoding.GetEncoding("Shift-JIS");
Response.ContentType = "Application/x-msexcel";
Response.AddHeader("Content-Disposition","inline; filename=DOWNLOAD.CSV");
Response.BinaryWrite(encoding.GetBytes(CSV出力データの文字列)));
Response.End();
===============================================================================
UCM
会議室デビュー日: 2004/04/05
投稿数: 7
投稿日時: 2004-04-08 13:42
ASPXの方で、XMLを使って指定するのはどうでしょうか?
<HEAD>
<xml>
 <x:ExcelWorkbook>
  <x:ExcelWorksheets>
   <x:ExcelWorksheet>
    <x:Name>ファイル名</x:Name>
   </x:ExcelWorksheet>
  </x:ExcelWorksheets>
 </x:ExcelWorkbook>
</xml>
</HEAD>
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-04-08 15:06
引用:

クエイサーさんの書き込み (2004-04-08 12:21) より:

Response.AddHeader("Content-Disposition","inline;■filename=DOWNLOAD.CSV");


ここの空白(■に書き換え)が、悪さをしているとか?
クエイサー
会議室デビュー日: 2003/12/26
投稿数: 6
投稿日時: 2004-04-08 15:45
UCMさん、Jittaさん
早速のご返答ありがとうございます。

お二方にご指示いただきました方法で
それぞれ対応して実行してみましたが
シート名は変更されませんでした。

一度ファイルを生成するようにする等
別の手立てを考えなければいけないの
でしょうか


[ メッセージ編集済み 編集者: クエイサー 編集日時 2004-04-08 15:46 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-04-08 15:57
 "inline"だから、かな?私は"file"にしています。
UCM
会議室デビュー日: 2004/04/05
投稿数: 7
投稿日時: 2004-04-08 17:06
こちらは"inline"でもうまくいってます。

上の返信で
<HTML>を
<HTML xmlns:x = "urn:schemas-microsoft-com:office:excel">
に変更するという説明が抜けていたのですが(申し訳ありませんm(_ _)m)、
関係ないでしょうか・・?
クエイサー
会議室デビュー日: 2003/12/26
投稿数: 6
投稿日時: 2004-04-08 17:59
UCMさん、Jittaさん
お手数お掛けします。

UCMさんから指示いただきまして下記のように
修正しましたがシート名は変更されませんでした。
下記の記述でよいのでしょうか。

よろしくお願い致します。

===============================================================
<%@ Page language="c#" Codebehind="Download.aspx.cs" AutoEventWireup="false" Inherits="siis.Download" %>
<HTML xmlns:x="urn:schemas-microsoft-com:office:excel">
 <HEAD>
  <xml>
   <x:ExcelWorkbook>
    <x:ExcelWorksheets>
     <x:ExcelWorksheet>
      <x:Name>DOWNLOAD.CSV</x:Name>
     </x:ExcelWorksheet>
    </x:ExcelWorksheets>
   </x:ExcelWorkbook>
  </xml>
  <title>DOWNLOAD.CSV</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="JavaScript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
  </form>
 </body>
</HTML>

===============================================================


[ メッセージ編集済み 編集者: クエイサー 編集日時 2004-04-08 18:03 ]
UCM
会議室デビュー日: 2004/04/05
投稿数: 7
投稿日時: 2004-04-09 15:06
うーん、間違っていないように見えるのですが。。
役立たずですいません

スキルアップ/キャリアアップ(JOB@IT)