Csvhelper: CSV-Datei in Zeichenfolge schreiben?

Erstellt am 2. Apr. 2013  ·  4Kommentare  ·  Quelle: JoshClose/CsvHelper

Ich möchte den csvhelper verwenden, um eine Liste von Objekten in eine csv-Datei im Browser zu exportieren. In der Dokumentation sehe ich nur Möglichkeiten, direkt in eine Datei zu schreiben - können Sie die CSV-Datei als String für den Export zurückgeben?

Ich habe so etwas versucht, aber die Methode 'WriteRecords' schließt den Speicherstrom:

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

Hilfreichster Kommentar

Habe dies über Google gefunden und die Antwort ist ein bisschen alt, also dachte ich, ich würde es für alle anderen aktualisieren, die dies finden.

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

Alle 4 Kommentare

Jawohl. Das machen die meisten Unit-Tests...

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(); }

Oder etwas ähnliches. Ich habe dies aus dem Gedächtnis gemacht, bin mir also nicht sicher, ob es kompiliert wird. ;)

Danke Josh, das wars. Dies ist eine großartige Bibliothek!

Gern geschehen.

Habe dies über Google gefunden und die Antwort ist ein bisschen alt, also dachte ich, ich würde es für alle anderen aktualisieren, die dies finden.

using (var writer = new StringWriter())
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture, true))
{
    csv.WriteRecord(csvRow);
    csv.Flush();
    var newRecord = writer.ToString();
}
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

hellboy81 picture hellboy81  ·  6Kommentare

RizwanAhmedJutt picture RizwanAhmedJutt  ·  5Kommentare

mabead picture mabead  ·  3Kommentare

shinriyo picture shinriyo  ·  6Kommentare

malinru picture malinru  ·  5Kommentare