web-dev-qa-db-fra.com

CsvHelper Ignorer la casse pour les noms d'en-tête

J'ai un cours

 public class Import
{
    public DateTime Date { get; set; }
    public string Category { get; set; }
}

Dans les noms d'en-tête de fichier csv, ils peuvent être en minuscules. Comment ignorer la casse lors de la lecture du fichier?

 var reader = new StreamReader(@"///");
        var csv = new CsvReader(reader);

        var records = csv.GetRecords<Import>().ToList();
12
Starter

Si vous utilisez http://joshclose.github.io/CsvHelper/ vous pouvez fournir une configuration lors de la construction du CsvReader ou de sa configuration après la construction.

    using (var stringReader = new StringReader(yourString))
    using (var csvReader = new CsvReader(stringReader))
    {
        // Ignore header case.
        csvReader.Configuration.PrepareHeaderForMatch =  (string header, int index) => header.ToLower();
        return csvReader.GetRecords<Import>().ToList();
    }

Il y a plus de documentation dans la section PrepareHeaderForMatch à http://joshclose.github.io/CsvHelper/configuration/

Pour plus de granularité, il existe également des instructions de mappage de classe pour lesquelles vous pouvez trouver ici: http://joshclose.github.io/CsvHelper/mapping

J'espère que cela pourra aider.

19
ozzy