C# 如何使用CsvHelper创建列标题?

C# 如何使用CsvHelper创建列标题?,c#,.net,csv,csvhelper,C#,.net,Csv,Csvhelper,所以我刚安装了CsvHelper,因为我听说它是最好用的。 我查看了文档,试图找出如何容纳我想要的内容,即创建一列并用逗号分隔的值填充它(,)。 然后在那个下面有一个单元格,对应的值是这样的 ID,Type,Name,Description,Image 11,Variation,MyCoolProduct,A super cool product, Image1 | Image2 我不希望有不同的列,我希望有一列,里面有一个字符串,格式是这样的 这就是我所做的,它不起作用,因为你甚至不能打开文

所以我刚安装了CsvHelper,因为我听说它是最好用的。 我查看了文档,试图找出如何容纳我想要的内容,即创建一列并用逗号分隔的值填充它(
)。 然后在那个下面有一个单元格,对应的值是这样的

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);
}
var记录=新列表
{
新列{ID=12,Type=“Variation”,Description=“不同颜色的简单产品”,
Images=“Image1 | image2”,价格=19.99d}
};
使用(StreamWriter sw=new StreamWriter(“Testfile.csv”))
{
var编写器=新的CSV编写器(sw);
编剧、编剧记录(记录);
}
更新

我现在已经像这样映射了它,我如何将它写入文本文件

public sealed class MyClassMap : ClassMap<Columns>
    {
        public MyClassMap()
        {
            Map(m => m.ID);
        }
    }
公共密封类MyClassMap:ClassMap
{
公共MyClassMap()
{
Map(m=>m.ID);
}
}

您通常应该创建一个CsvClassMap类,并将您的类映射到所需的CSV格式

它非常简单,界面非常流畅。只需做如下操作:

   public class ColMap : CsvClassMap<Column>
   {
       public ColMap()
       {
           Map(m=>m.ID).Name("ID").Index(0);
           .
           .
           .
       }
    }
公共类ColMap:CsvClassMap
{
公共ColMap()
{
Map(m=>m.ID).Name(“ID”).Index(0);
.
.
.
}
}

.Index调用后的其他一些选项将允许您进一步配置每个列的格式。

CsvClassMap是随库提供的吗?确实是。你还需要把CSVWriter放在一个using中,这是我以前没有注意到的。啊,对不起,在新版本中它只是叫做ClassMap,我忘记了!用th classmap更新了我的问题,如何将其写入csv文件,正如我解释的那样,1列是1个长字符串,值由
分隔?抱歉,我不明白。你说的1个长列但又分开是什么意思?