我有一个上传CSV文件的功能。无论如何我得到的列异常之一,而上传csv文件。我正在使用CsvHelper执行相关的csv操作。问题是我们如何获得csv文件(同时上传csv文件)内'CsvHelper.HeaderValidationException'的缺失头列列表。我正在使用c#。
为例:如果我的模型中有10列,那么在上传csv文件时,它应该将csv列与模型列匹配。我想找出csv文件中缺少的列与模型相比。
您可以在CsvConfiguration
中使用HeaderValidated
来获得缺失标头的列表。
void Main()
{
var config = new CsvConfiguration(CultureInfo.InvariantCulture)
{
HeaderValidated = args =>
{
foreach (var header in args.InvalidHeaders)
{
Console.WriteLine($"Missing header: {header.Names[0]}");
}
}
};
using (var reader = new StringReader("Idn1"))
using (var csv = new CsvReader(reader, config))
{
var records = csv.GetRecords<Foo>().ToList();
}
}
public class Foo
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}