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

CSVファイルの保存

1
投稿者投稿内容
taro
ベテラン
会議室デビュー日: 2003/08/06
投稿数: 55
投稿日時: 2003-08-06 13:20
初めて投稿します。
現在、ASP.NETとVBでwebアプリの開発を行っているのですが、
ボタンを押下されたタイミングでCSVファイルを作成し保存のダイアログボックスを
表示したいのですがどのようにすればよろしいのでしょうか。


[ メッセージ編集済み 編集者: taro 編集日時 2003-08-06 13:22 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-08-06 16:45
引用:

taroさんの書き込み (2003-08-06 13:20) より:

現在、ASP.NETとVBでwebアプリの開発を行っているのですが、
ボタンを押下されたタイミングでCSVファイルを作成し保存のダイアログボックスを
表示したいのですがどのようにすればよろしいのでしょうか。


 CSVファイル形式の文字列をダウンロードさせます。
方法は…すみません詳しくわかりません。ここの過去ログを「ダウンロード」をキーにして検索すると、少なくともエクセルファイルをダウンロードさせる方法が出てきます。それを応用してください。
やまうち
会議室デビュー日: 2002/04/11
投稿数: 7
投稿日時: 2003-08-06 18:58
IEでダウンロードするとExcelが開いてしまうので、
サーバー側でヘッダーを"octet-stream"とかに書き
換えてあげればダウンロードのダイアログが出ると
思います。("octet-stream"のスペル間違ってるかも)
未記入
ベテラン
会議室デビュー日: 2002/09/10
投稿数: 68
投稿日時: 2003-08-07 10:48
まとめると中身をゴリゴリと書いてstringに入れた後、

Response.AddHeader("Content-Disposition","attachment;filename=xxx.csv");
Response.AddHeader("media-type","application/octet-stream");
Response.Write(csvString);
Response.End();

Shift-JISで出力したい場合は3行目を下記コードに置き換え。
System.Text.Encoding enc = System.Text.Encoding.GetEncoding("Shift-JIS");
Response.BinaryWrite(enc.GetBytes(csvString));
taro
ベテラン
会議室デビュー日: 2003/08/06
投稿数: 55
投稿日時: 2003-08-14 11:27
皆様ありがとうございました。
”仕様書無し”様からのアドバイスを参考にコードを書くことで
解決しました。
1

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