Robbiblubber.Data.Util.CSV
Export CSV pour IEnumerable<T> : définir les colonnes et en-têtes, sélectionner les valeurs par fonctions et adapter le format de sortie.
Ce qu’elle contient
- CsvExport<T> traite vos types de données ; DataField<T> définit l’ordre des colonnes, les en-têtes et les valeurs.
- Séparateurs de champs et décimaux, guillemets, fins de ligne et encodage sont configurables.
- CsvOptions.GERMAN propose le point-virgule et la virgule décimale ; la ligne d’en-tête est facultative.
- Sortie vers un fichier, flux, TextWriter ou chaîne, avec méthodes synchrones et asynchrones.
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);Deux colonnes explicites, une ligne d’en-tête et un format numérique allemand. Personnaliser une copie des options.
dotnet add package Robbiblubber.Data.Util.CSV