如何使用CsvHelper创建列标题?

时间:2018-05-21 04:59:51

标签: c# .net csv csvhelper

所以我刚刚安装了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);
        }
    }

1 个答案:

答案 0 :(得分:1)

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

它非常简单,界面友好。做一些像:

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

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