public class Class1
{
[CsvField(Name = "Field1")]
public int Field1 { get; set; }
[CsvField(Name = "Field2")]
public int Field2 { get; set; }
[CsvField(Ignore = true)]
public Class2 Class2 { get; set; }
[CsvField(Ignore = true)]
public Class3 Class3 { get; set; }
}
public class Class2
{
[CsvField(Name = "Field3")]
public int Field3 { get; set; }
[CsvField(Name = "Field4")]
public int Field4 { get; set; }
}
public class Class3
{
[CsvField(Name = "Field5")]
public int Field5 { get; set; }
[CsvField(Name = "Field6")]
public int Field6 { get; set; }
}
我正在使用CSVHelper
将数据写入CSV文件。我需要使用如下标题写入Class1:
字段1、字段2、字段3、字段4、字段5、字段6
我怎么能这样呢?
2条答案
按热度按时间6jygbczu1#
这是一个老问题,所以你可能已经有了答案。你有几个选择。
**选项1(我知道会起作用)**文档
您只需要手动写出CSV的内容,下面是一些可以帮助您开始的代码,但您需要根据对象内容的存储方式进行修改。
**选项2(已使用,但与此不同)**文档
第二个选择是编写一个自定义的
CSVMap
,告诉CSVWriter如何处理嵌套类。我不确定如何处理名称,所以您可能必须解决这个问题。然后是转换器,一个用于Class2,一个用于Class3
**选项3(从未使用过)**文档
你可以做一个内联转换器,而不是创建一个单独的类。我从来没有尝试过这个,但它应该工作。
6xfqseft2#
你看这个
}