2013-06-05 37 views
0

我正在使用CsvHelper编写一个程序,将一堆数据输出到CSV文件中。标题行是一排约35列。下面是一些在这里的代码...任何使用CsvHelper更改标题行属性的方法?

[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; } 

我只是想知道如果我能,可以这么说,更改列宽度或更改单元格的背景颜色或做任何事情此事。我一直在网上搜索一段时间,并没有提出任何问题。任何帮助将不胜感激。

回答

3

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

如果你想控制美学,你需要选择一种可以支持这些选项的格式,例如实际的excel(xls)格式。

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

+0

谢谢你就是这么想的。 – Stock

1

CSV文件不包含任何格式,所以Excel有无线索如何格式化从文件导入的数据。它只是应用一些默认格式。

无论你通过CSV导入,它将从来没有有任何奇特的颜色/字体/列宽/任何格式。

至于解决方法,2个想法来到我的脑海:

  1. 我不熟悉的Excel编程,但我可以肯定的是,数据导入后,你可以实现一个可以运行VBA宏为你做格式化。

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