11

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

这就是我正在做的事情:我创建了一个名为 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”。

我在这里做错了什么?

4

1 回答 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();
于 2014-02-10T07:01:45.870 回答