CSV文件中不存在“workOrder”字段。

11

我有一个CSV文件,其中有几行数据,每一行的标题为"W.O.No."的列下面都有一个工单号码。

这是我的操作:

我创建了一个名为Job的类,其中只有一个字段。

class Job
{
    public int workOrder { get; set; }
}

那么我创建了一个JobMap类

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

最后,这是我的主要代码

StreamReader file = new StreamReader(filePath);
var csv = new CsvReader(file);
var record = csv.GetRecords<Job>().ToList();

出于某种原因,我收到一个错误,说:

CSV文件中不存在“workOrder”字段。

我在这里做错了什么?

1个回答

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

6
谢谢,官方文档中的配置类注册并不是很直观。 - Eric Kigathi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接