CsvHelper を使って CSV 文字列を生成
公式のサンプルにも似たようなのあるんだけどうまくいかなかったので。
CsvHelper は
普通に StreamReader/StreamWriter を受け取って動作するので、その辺りが分かっている人にはなんてことはないと思います。
コード
using (var memoryStream = new MemoryStream()) using (var streamWriter = new StreamWriter(memoryStream)) using (var streamReader = new StreamReader(memoryStream)) using (var writer = new CsvWriter(streamWriter)) { writer.Configuration.RegisterClassMap<Hoge>(); writer.WriteRecords(hogeList); streamWriter.Flash(); // Position = 0 でも大丈夫ぽい memoryStream.Seek(0, SeekOrigin.Begin); var csvStr = streamReader.ReadToEnd(); }
公式のサンプルコードには Flash
の記述がなくてウンウン唸っていたというお話でした。。