人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

asp.net4.0 VisualBasic visual studio2012 express でのcsvファイルのクライエント側への出力方法についての質問です。よろしくお願いします。
Response.AppendHeader("Content-Disposition", "Attachment; Filename=MyFile.csv")
Response.ContentType = "text/csv"
Dim i As Integer
For i = 1 To 1000
Response.Write(i)
Response.Write(",")
Next
で、一応データ出力できますが、クローズしてないためか、何やら他のデータが書き込まれます。
以下の質問です。
1.データ出力の終わり方法
2.再度、別のファイル名で、データを出力したい場合はどうするか。
について、ご教示ください。

●質問者: kojiro_i619
●カテゴリ:コンピュータ
○ 状態 :キャンセル
└ 回答数 : 1/1件

▽最新の回答へ

質問者から

visual Basicでのコードなどを説明したwebを知っておられましたら教えてください。


1 ● lang_and_engine

こんにちは。


■1:

>1.データ出力の終わり方法

最後の行に Response.End(); を追加して下さい。


■2:

一つ前に質問なさった http://q.hatena.ne.jp/1385973258 にありましたが,私がサンプルコード付きで回答させて頂いた

>csvファイルをクライエント側のデスクトップ上に出力するコード

の路線(=路線1)を中止なさって,私が参考URLをコメントさせて頂いた

>「WebページにアクセスしたらCSVをダウンロードできる。ダウンロード先はクライアントがデスクトップを選ぶ。」

の路線(=路線2)に変更なさったんですね。


だとすると,

>2.再度、別のファイル名で、データを出力したい場合はどうするか。

は実現できなくなりました。Webには,そのような機能は実装できません。


HTTPでは,1回のURLリクエストにつき1レスポンス(=1ファイル)を返すことしかできません。

もし複数のファイルをクライアント側にダウンロードさせたいのであれば,例えば

・「ダウンロードページ」のようなページを表示し,
そこにCSVのダウンロードリンクを複数個設置する。

・クライアントは,それぞれのダウンロードリンクを押下して,
各リンクごとに異なったCSVをダウンロードする。

という方法になり,複数回の手動アクセスが必要になります。
これは路線2の場合です。


もし路線1を継続するのであれば,1回のアクセスだけで,クライアントのローカルにファイルをいくつでも自動的に作成する事が可能です。


lang_and_engineさんのコメント
■質問の補足につきまして: C#でのサンプルコードは,一つ前の質問のコメント欄の参考リンクに掲載されています。 そのコードを http://dobon.net/vb/dotnet/links/convertcs2vb.html でVB.netに変換なさってみるのはいかがでしょうか。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ