0

我正在使用 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; }

我只是想知道我是否可以,可以这么说,改变列宽或改变单元格的背景颜色或做任何事情。我已经在网上搜索了一段时间,但没有提出任何建议。任何帮助将不胜感激。

4

2 回答 2

4

简单的答案是,你不能用 CSV 做到这一点。这不是它的本质或目的。它只是逗号分隔的值,就是这样

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

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

于 2013-06-05T16:04:51.163 回答
1

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

无论您通过 CSV 导入什么,它都不会有任何花哨的颜色/字体/列宽/任何格式。

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

  1. 我不熟悉 Excel 编程,但我确信您可以实现一个 VBA 宏,该宏可以在数据导入后运行,为您进行格式化。

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

于 2013-06-05T16:09:13.107 回答