CSV文件中不存在字段'workOrder'

hao*_*ark 11 c# csv csvhelper

我有一个包含多行的CSV文件,每行的工作订单号都在标题为"WONo"的列下.

这就是我正在做的事情:我创建了一个名为Job的类,只有一个字段.

class Job
{
    public int workOrder { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个JobMap类

class JobMap : CsvClassMap<Job>
{
    public override void CreateMap()
    {
        Map(m => m.workOrder).Name("W.O.No.");
    }
}
Run Code Online (Sandbox Code Playgroud)

最后,这是我的主要代码

StreamReader file = new StreamReader(filePath);
var csv = new CsvReader(file);
var record = csv.GetRecords<Job>().ToList();
Run Code Online (Sandbox Code Playgroud)

无论出于何种原因,我都会收到错误消息

CSV文件中不存在字段'workOrder'.

我在这做错了什么?

Dim*_*maS 19

似乎在您的代码中缺少地图初始化.尝试添加csv.Configuration.RegisterClassMap<JobMap>();

这段代码应该有效:

StreamReader file = new StreamReader(filePath);
var csv = new CsvReader(file);
csv.Configuration.RegisterClassMap<JobMap>();
var record = csv.GetRecords<Job>().ToList();
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,配置类注册在官方文档中不是很直观 (6认同)