c# - csvhelper IsHeaderCaseSensitive Work around -
i'm trying read in csv file header 'email', however, maintain getting csvmissingfieldexception thrown "fields 'email' not exist in csv file".
i set csvreader handle-
csvreader.configuration.isheadercasesensitive = false; but i'm still getting same issue. know work around? or why configuration isn't working?
in utilities class:
public static ienumerable<t> csvreader<t>(string filename) { using (var filereader = file.opentext(filename)) using (var csvreader = new csvhelper.csvreader(filereader)) { csvreader.configuration.isheadercasesensitive = false; csvreader.configuration.registerclassmap<optoutclassmap>(); while (csvreader.read()) { var record = csvreader.getrecord<t>(); yield homecoming record; } } } in class map class:
public string email { get; set; } public class customclassmap : csvhelper.configuration.csvclassmap<custommap> { public override void createmap() { map(m => m.email); } }
it looks not using right classmap. code above, line:
csvreader.configuration.registerclassmap<optoutclassmap>(); should be:
csvreader.configuration.registerclassmap<customclassmap>(); your code when modified works expected.
static void main(string[] args) { var records = csvreader<record>("textfile1.csv"); } public class record { public string email { get; set; } } public class customclassmap : csvhelper.configuration.csvclassmap<record> { public override void createmap() { map(m => m.email); } } public static ienumerable<t> csvreader<t>(string filename) { using (var filereader = file.opentext(filename)) using (var csvreader = new csvhelper.csvreader(filereader)) { csvreader.configuration.isheadercasesensitive = false; csvreader.configuration.registerclassmap<customclassmap>(); while (csvreader.read()) { var record = csvreader.getrecord<t>(); yield homecoming record; } } } c# csvhelper
No comments:
Post a Comment