任何方式来改变标题行属性使用CsvHelper?

我使用CsvHelper来编写一个输出一堆数据到CSV文件的程序。 标题行是大约35列的一行。 这里有一些代码在这里…

[CsvColumn(Name = "Lease Name", FieldIndex = 1)] public string leaseName2 { get; set; } [CsvColumn(Name = "Field Name", FieldIndex = 2)] public string fieldName2 { get; set; } [CsvColumn(Name = "Reservoir", FieldIndex = 3)] public string reservoir2 { get; set; } [CsvColumn(Name = "Operator", FieldIndex = 4)] public string operator2 { get; set; } [CsvColumn(Name = "County", FieldIndex = 5)] public string county2 { get; set; } [CsvColumn(Name = "State", FieldIndex = 6)] public string state2 { get; set; } [CsvColumn(Name = "Majo", FieldIndex = 7)] public string majo2 { get; set; } 

我只是想知道是否可以,可以这么说,改变列的宽度或改变单元格的背景颜色或做任何事情。 我一直在网上search一段时间,还没有拿出任何东西。 任何帮助将不胜感激。

简单的答案是,你不能用CSV来做到这一点。 这不是它是什么或它的意思。 这只是逗号分隔值, 就是这样

如果你想控制美观,你需要select一个可以支持这些选项的格式,比如实际的excel(xls)格式。

这就是为什么当你在excel中打开一个CSV并尝试用格式保存时,它会警告你如果保持.CSV格式,所有格式都将丢失。

CSV文件不包含任何格式,因此Excel 不知道如何格式化从文件导入的数据。 它只是应用一些默认的格式。

什么是你通过CSV导入,它永远不会有任何奇特的颜色/字体/列宽/任何forms。

作为解决方法,我想到了两个想法:

  1. 我不熟悉Excel编程,但是我相信你可以实现一个可以在数据导入之后运行的VBAmacros来为你进行格式化。

  2. 你可以实现留在C#中,并在代码中实现导入。 微软提供的SDK可以帮助你。 我猜想你也有所有的格式化function。 这肯定会起作用,但我不得不承认,手动实施这项工作似乎对我来说并不合理。