[ASP.NET] CSV ファイルをダウンロードさせる。
ASP.NET で CSV ファイルを作成してダウンロードさせるメモ。
// 適当な CSV フォーマット var csvContents = new ListVB.NET の場合は以下のとおり。() { "名前,ポイント" }; csvContents.Add("\"Noah\",\"4,090\""); csvContents.Add("\"Liam\",\"90\""); csvContents.Add("\"Sophia\",\"4,011\""); csvContents.Add("\"Emma\",\"9,801\""); var outputPath = @"d:\CsvSample.csv"; // ファイルがなくても OK File.Delete(outputPath); using (var writer = new StreamWriter(outputPath, true, Encoding.Default)) { // TODO: 例外処理を書く writer.WriteLine(string.Join("\r\n", csvContents)); } // ダウンロード Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment; filename=CsvSample.csv"); Response.Flush(); Response.WriteFile(outputPath); Response.End();
'適当な CSV フォーマット Dim csvContents = New List(Of String)(New String() {"名前,ポイント"}) csvContents.Add("""Noah"",""4,090""") csvContents.Add("""Liam"",""90""") csvContents.Add("""Sophia"",""4,011""") csvContents.Add("""Emma"",""9,801""") Dim outputPath = "d:\\CsvSample.csv" ' ファイルがなくても OK File.Delete(outputPath) Using writer As New StreamWriter(outputPath, False, Encoding.Default) writer.WriteLine(String.Join(Environment.NewLine, csvContents)) End Using ' ダウンロード Response.ContentType = "application/octet-stream" Response.AddHeader("Content-Disposition", "attachment; filename=CsvSampleVb.csv") Response.Flush() Response.WriteFile(outputPath) Response.End()出力された CSV ファイルを Excel で開いた場合。