DOBON.NET DOBON.NETプログラミング掲示板過去ログ

生成したCSVファイルをExelで開いた際のシート名について

  • 題名: 生成したCSVファイルをExelで開いた際のシート名について
  • 著者: 蒼葉
  • 日時: 2006/09/13 13:05:15
  • ID: 17537
  • この記事の返信元:
    • (なし)
  • この記事への返信:
    • (なし)
  • ツリーを表示
環境/言語:[ASP1.1/XPSP2/SQLServer2000/IIS6.0/IE6.0/Exel2003]
分類:[ASP.NET]

こんにちわ。はじめまして。
初めて投稿させていただきます。

開発環境:
WindowsXP SP2/SQLServer2000/ASP.NET1.1/IIS6.0/IE6.0/Exel2003

抽出したデータをCSV(カンマ区切り)で、
ユーザーが指定したフォルダにダウンロードさせるプログラムを組んでおります。

'ソース
Response.AddHeader("ContentDisposition", "attachment;filename="DOWNLOAD.CSV")
Response.ContentType = "application/octet-stream"
Response.Charset = "Shift-JIS"
Response.BinaryWrite(Encord.GetBytes(strCSVString))
Response.End()

上記のソースをコンパイルし、実行を行うと、
「開く」「保存」「キャンセル」のダイアログボックスが表示されます。
保存は正常に行うことができ、想定したデータが出力される事を確認しております。
また、Exel2003上で開いた際、拡張子を除いたファイル名(=DOWNLOAD)が
シート名にセットされております。

問題は「開く」ボタンを押下した際、
シート名が「.csv]DOWNLOAD」のようになってしまいます。
この状態でシート名の変更を行おうとすると、
Exelの禁則文字エラーが出力されてしまいます。
またシート名を変更しても同じエラーが発生し、
ファイルを×ボタンで閉じない限り、保存ができなくなってしまいます。

ユーザー様の意向で、ファイルを一度どこかに生成し、
それをダウンロードさせる、ということはできない為、
上記に対する回避方法を探しているのですが、有効な対策を見つけられず、
非常に悩んでおります。

どうすれば回避できるか、皆様のお知恵を拝借いただければと思います。

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

DOBON.NET | プログラミング道 | プログラミング掲示板