如何获得CSV文件的缺少标题列的列表?



我有一个上传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; }
}

相关内容

  • 没有找到相关文章