我有一个包含多行的 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();
无论出于何种原因,我都会收到一条错误消息
Fields 'workOrder' do not exist in the CSV file.
我在这里做错了什么?
最佳答案
您的代码中似乎缺少 map 初始化。尝试添加 csv.Configuration.RegisterClassMap<JobMap>();
这段代码应该可以工作:
StreamReader file = new StreamReader(filePath);
var csv = new CsvReader(file);
csv.Configuration.RegisterClassMap<JobMap>();
var record = csv.GetRecords<Job>().ToList();
关于c# - CSV 文件中不存在字段 'workOrder',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21670409/