Csvhelper: csvファイルを文字列に書き込みますか?

作成日 2013年04月02日  ·  4コメント  ·  ソース: JoshClose/CsvHelper

csvhelperを使用して、オブジェクトのリストをブラウザのcsvファイルにエクスポートしたいと思います。 ドキュメントに表示されているのは、ファイルに直接書き込む方法だけです。csvファイルをエクスポート用の文字列として返すことはできますか?

私はこのようなことを試みましたが、「WriteRecords」メソッドはメモリストリームを閉じています:

c# using (var memStream = new MemoryStream()) { using (var csv = new CsvWriter(new StreamWriter(memStream))) { csv.WriteRecords(events); return File(memStream, "text/csv", "Report123.csv"); } }

最も参考になるコメント

グーグルでこれを見つけました、そして答えは少し古いので、これを見つけた他の誰かのために私がそれに更新を与えると思いました。

using (var writer = new StringWriter())
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture, true))
{
    csv.WriteRecord(csvRow);
    csv.Flush();
    var newRecord = writer.ToString();
}

全てのコメント4件

はい。 それはほとんどのユニットテストが行​​うことです...

C# using( var stream = new MemoryStream() ) using( var reader = new StreamReader( stream ) ) using( var writer = new StreamWriter( stream ) ) using( var csv = new CsvWriter( writer ) ) { csv.WriteRecords( events ); writer.Flush(); stream.Position = 0; var text = reader.ReadToEnd(); }

または同様のもの。 私はこれをメモリから行ったので、コンパイルされるかどうかはわかりません。 ;)

Joshに感謝します、それはそれをしました。 これは素晴らしいライブラリです!

どういたしまして。

グーグルでこれを見つけました、そして答えは少し古いので、これを見つけた他の誰かのために私がそれに更新を与えると思いました。

using (var writer = new StringWriter())
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture, true))
{
    csv.WriteRecord(csvRow);
    csv.Flush();
    var newRecord = writer.ToString();
}
このページは役に立ちましたか?
0 / 5 - 0 評価