Robbiblubber.Data.Util.CSV
CSV-Export für IEnumerable<T>: Spalten und Überschriften explizit definieren, Werte über Funktionen auswählen und die Ausgabe an das gewünschte CSV-Format anpassen.
Das steckt drin
- CsvExport<T> verarbeitet eigene Datentypen; DataField<T> legt Spaltenreihenfolge, Überschrift und Wertauswahl fest.
- Trennzeichen, Dezimaltrennzeichen, Anführungszeichen, Zeilenende und Dateikodierung sind konfigurierbar.
- CsvOptions.GERMAN bietet Semikolon und Dezimalkomma als Voreinstellung; Kopfzeilen sind optional.
- Ausgabe als Datei, Stream, TextWriter oder Zeichenfolge; synchrone und asynchrone Methoden.
using Robbiblubber.Data.Util.CSV;
CsvExport<Product> export = new(
fieldDefinition:
[
new CsvExport.DataField<Product>("Name", p => p.Name),
new CsvExport.DataField<Product>("Price", p => p.Price)
],
csvOptions: CsvOptions.GERMAN.Clone());
await export.WriteToFileAsync("products.csv", [new Product("Notebook", 4.50m)]);
record Product(string Name, decimal Price);Zwei explizite Spalten, eine Kopfzeile und deutsches Zahlenformat. Eigene Anpassungen an einer Kopie der Optionen vornehmen.
dotnet add package Robbiblubber.Data.Util.CSV