在我的 CSVWriter (CsvHelper) 中出错 header
Getting the wrong header in my CSVWriter (CsvHelper)
我正在尝试将 header 写入我的 CSV 编写器,但我收到 header 的错误值,
我的代码如下:
定义class:
public class PersonDefinition
{
public string First_Name { get; set; }
}
映射class:
public sealed class PersonDefinitionMap : CsvClassMap<Person>
{
public PersonDefinitionMap()
{
Map(m => m.First_Name).Name("First Name");
}
}
在主程序中:
using (TextWriter writer = new StreamWriter(csvFilePath))
{
var csvWriter = new CsvWriter(writer);
csvWriter.Configuration.Encoding = Encoding.UTF8;
csvWriter.WriteHeader<PersonDefinition>();
}
但输出 csv 得到以下信息:
First_Name
而不是我的预期
First Name
(没有 space)
这里的问题在哪里?
您似乎还没有注册映射。
var csvWriter = new CsvWriter(writer);
csvWriter.Configuration.Encoding = Encoding.UTF8;
csvWriter.Configuration.RegisterClassMap<PersonDefinitionMap>(); // <-- here
csvWriter.WriteHeader<PersonDefinition>();
查看documentation,需要注册class地图:
var csv = new CsvReader( textReader );
csv.Configuration.RegisterClassMap<MyClassMap>();
或者您的情况:
var csvWriter = new CsvWriter(writer);
csvWriter.Configuration.Encoding = Encoding.UTF8;
csvWriter.Configuration.RegisterClassMap<PersonDefinitionMap>();
csvWriter.WriteHeader<PersonDefinition>();
我正在尝试将 header 写入我的 CSV 编写器,但我收到 header 的错误值, 我的代码如下:
定义class:
public class PersonDefinition
{
public string First_Name { get; set; }
}
映射class:
public sealed class PersonDefinitionMap : CsvClassMap<Person>
{
public PersonDefinitionMap()
{
Map(m => m.First_Name).Name("First Name");
}
}
在主程序中:
using (TextWriter writer = new StreamWriter(csvFilePath))
{
var csvWriter = new CsvWriter(writer);
csvWriter.Configuration.Encoding = Encoding.UTF8;
csvWriter.WriteHeader<PersonDefinition>();
}
但输出 csv 得到以下信息:
First_Name
而不是我的预期
First Name
(没有 space)
这里的问题在哪里?
您似乎还没有注册映射。
var csvWriter = new CsvWriter(writer);
csvWriter.Configuration.Encoding = Encoding.UTF8;
csvWriter.Configuration.RegisterClassMap<PersonDefinitionMap>(); // <-- here
csvWriter.WriteHeader<PersonDefinition>();
查看documentation,需要注册class地图:
var csv = new CsvReader( textReader );
csv.Configuration.RegisterClassMap<MyClassMap>();
或者您的情况:
var csvWriter = new CsvWriter(writer);
csvWriter.Configuration.Encoding = Encoding.UTF8;
csvWriter.Configuration.RegisterClassMap<PersonDefinitionMap>();
csvWriter.WriteHeader<PersonDefinition>();