所以我刚刚安装了CsvHelper,因为那是我听到的那个更好用的。
我查看了文档并尝试弄清楚如何使用我想要的内容来创建1列,并用逗号分隔的值填充它(,
)。
然后是那个具有相应值的单元格,如此
ID,Type,Name,Description,Image
11,Variation,MyCoolProduct,A super cool product, Image1 | Image2
我不希望不同的列到一边我想要一个带有字符串的列,就像那样格式化。
这就是我所做的,因为你因为得到SYLK格式问题而无法打开文件而无法正常工作
var records = new List<Columns>
{
new Columns {ID = 12, Type = "Variation", Description = "Simple product with different colors",
Images = "Image1 | Image 2", Price = 19.99d}
};
using (StreamWriter sw = new StreamWriter("Testfile.csv"))
{
var writer = new CsvWriter(sw);
writer.WriteRecords(records);
}
更新
我现在已经将它映射到了这个,如何将其写入文本文件?
public sealed class MyClassMap : ClassMap<Columns>
{
public MyClassMap()
{
Map(m => m.ID);
}
}
答案 0 :(得分:1)
您通常应该创建一个CsvClassMap类,并将您的类映射到您需要的CSV格式。
它非常简单,界面友好。做一些像:
public class ColMap : CsvClassMap<Column>
{
public ColMap()
{
Map(m=>m.ID).Name("ID").Index(0);
.
.
.
}
}
.Index调用之后的其他一些选项将允许您进一步配置每个列的格式。