- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- dotNet-ASP.NET MVC/コントローラー/CsvHelperでCSVファイルをダウンロード へ行く。
- 1 (2014-03-23 (日) 12:59:53)
CsvHelperでCSVファイルをダウンロード
public ActionResult Export()
{
var records = new List<object>()
{
new { Id = 123, Name = "abc"},
new { Id = 456, Name = "xyz"},
};
// Output the csv file
using (var memStream = new MemoryStream())
using (var streamWriter = new StreamWriter(memStream) { AutoFlush = true })
using (var csvWriter = new CsvWriter(streamWriter)) {
csvWriter.WriteRecords((IEnumerable) records);
streamWriter.Flush();
memStream.Flush();
memStream.Position = 0;
return File(new MemoryStream(memStream.GetBuffer(), 0, memStream.ToArray().Length), "text/csv", "test.csv");
}
}
参考
パブリックに参照できるバッファーを持つ MemoryStream インスタンスを作成するには、MemoryStream、MemoryStream(Byte[], Int32, Int32, Boolean, Boolean)、または MemoryStream(Int32) を使用します。 現在のストリームのサイズを変更できる場合に、このメソッドを 2 回呼び出しても、メソッド呼び出しの間に基になるバイト配列のサイズが変更されると、同じ配列は返されません。 詳細については、「Capacity」を参照してください。
http://msdn.microsoft.com/ja-jp/library/system.io.memorystream.getbuffer(v=vs.110).aspx