Ich fange an CSV Helper zu verwenden - ein exzellenter kleiner Helfer für Ihre tägliche Arbeit - tolle Sachen!Problem mit CSV-Helper konvertiert keine bool Werte
Ein Artikel Ich kämpfe mit Recht sind jetzt Klasse Karten - I
public class SimpleClass
{
public int ID { get; set; }
public string Name { get; set; }
public decimal Percentage { get; set; }
public bool IsValid { get; set; }
}
und für den Export in das CSV ein wenig Klasse haben, würde Ich mag die IsValid
Werte true
mit yes
ersetzen, False
mit no
; Zu diesem Zweck habe ich eine Klasse Karte erstellt:
public class SimpleClassMap : CsvClassMap<SimpleClass>
{
public override void CreateMap()
{
Map(x => x.ID).Index(0);
Map(x => x.Name).Index(1);
Map(x => x.Percentage).Index(2);
Map(x => x.IsValid).Index(3)
.TypeConverterOption(true, "yes")
.TypeConverterOption(false, "no");
}
}
und jetzt, wenn meine Daten exportieren, verwende ich diese Klasse Karte:
CsvConfiguration config = new CsvConfiguration { Delimiter = ";", HasHeaderRecord = false, Quote = '"' };
config.RegisterClassMap<SimpleClassMap>();
using (MemoryStream stm = new MemoryStream())
using (var streamWriter = new StreamWriter(stm))
using (var csvWriter = new CsvWriter(streamWriter, config))
{
csvWriter.WriteRecords(list);
streamWriter.Flush();
}
Leider, wenn ich prüfen, was geschrieben wurde, zu sehen, die ich, dass ich immer noch True
oder False
- nicht die yes
oder no
wie ich gehofft hatte .....
Was bin ich hier? Ich verwende CSV-Helper v2.5, installiert von NuGet und .NET 4.0/Visual Studio 2010.
Ja, ich weiß. :(In der nächsten Hauptversion werden die Konfigurationen durch Reader und Writer getrennt, anstatt durch einen großen Konfigurations-Pool. –
Gibt es eine Möglichkeit, einen Wert an den TypeConvertor zu übergeben? Ich möchte grundsätzlich alle NULL-Werte durch eine bestimmte Länge ersetzen string (Füllfelder in der CSV, um eine Spezifikation zu erfüllen) – Andrew
Können Sie dies auf der GitHub-Problemseite posten? Wir können Code-Beispiele auf diese Weise teilen.https: //github.com/JoshClose/CsvHelper/issues –