将类c#列表序列化为csv文件

时间:2016-07-06 09:16:31

标签: c# list csv serialization export-to-csv

我有以下几点:

Class Pet

public string PetType {get; set;}
public string PetName {get; set;}
public int PetAge {get; set;}

班级人员

public string Name {get; set;}
public int Age {get; set;}
public List<Pet> ListOfPets {get; set;}

类ViewModel

public ObservableCollection<Person> People {get; set;}

我希望将People对象序列化为csv文件。

可以实现这样的任务吗?

我找到了一个只能处理字符串的CSV Serializer

2 个答案:

答案 0 :(得分:0)

csv文件是二维的,你不能包含第三维(宠物)。 您可以手动逐个附加宠物,但是您将丢失csv文件的固定列数

喜欢这个

[Name],[Age],[Pet1Type][Pet1Name],[Pet1Age],[Pet2Type][Pet2Name],[Pet2Age]
[Name],[Age],[Pet1Type][Pet1Name],[Pet1Age]
[Name],[Age],[Pet1Type][Pet1Name],[Pet1Age],[Pet2Type][Pet2Name],[Pet2Age,[Pet3Type][Pet3Name],[Pet3Age]

但事后消费会更难。

答案 1 :(得分:-1)

编辑后很明显OP有兴趣以CSV格式序列化,因此我建议尝试CsvMapper

var csv = new CsvWriter( textWriter );
csv.WriteRecords( list );