【发布时间】:2022-01-11 16:58:36
【问题描述】:
我需要编写一个带有驼峰式标题的 CSV 文件。
假设我们有这个类
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
还有下面的代码
public void Main()
{
var p = new Person { Id = 1, FirstName = "John", LastName = "Doe" };
using (var writer = new StringWriter())
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture, true))
{
csv.WriteHeader<Person>();
csv.NextRecord();
csv.WriteRecord(p);
csv.Flush();
var newRecord = writer.ToString();
newRecord.Dump();
}
}
这将输出以下内容
Id,FirstName,LastName
1,John,Doe
我希望标题为驼峰格式
id,firstName,lastName
1,John,Doe
最后重要的是,我不知道对象,所以 ClassMaps 或属性不是一个选项。
有没有办法用 CSVHelper 配置标题的格式?
【问题讨论】:
-
您可以使用
[Name("firstName")]在编译时控制列名,如Change the name of headers in CSV file using CSVHelper in C# 所示。或者在运行时您可以使用ClassMap<T>,如Can I use a ClassMap for writing with CsvHelper? 所示?这就是你想要的吗?或者您是否正在寻找一种通用的方法来将您的列名整体进行驼峰式命名,而无需单独指定每个列名? -
我不知道我将收到的对象的格式,所以属性和类映射不是要走的路。