我有一个包含多行的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'。
我在这里做错了什么?
答案 0 :(得分: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();