web-dev-qa-db-ja.com

CsvHelperヘッダー名の大文字と小文字を区別しない

授業がある

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

Csvファイルのヘッダー名は小文字にすることができます。ファイルの読み取り中に大文字と小文字を無視するにはどうすればよいですか?

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

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

http://joshclose.github.io/CsvHelper/ を使用している場合は、CsvReaderを構築するとき、または構築後に設定することができます。

    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();
    }

http://joshclose.github.io/CsvHelper/configuration/ のPrepareHeaderForMatchセクションにドキュメントがあります。

さらに細かくするには、以下にあるクラスマッピングの手順もご覧ください。 http://joshclose.github.io/CsvHelper/mapping

お役に立てば幸いです。

19
ozzy