【问题标题】:Any way to change header row attributes using CsvHelper?有什么方法可以使用 CsvHelper 更改标题行属性?
【发布时间】:2013-06-05 15:56:08
【问题描述】:

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

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

【问题讨论】:

    标签: c# excel csv csvhelper


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢,我就是这么想的。
    【解决方案2】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-07
      • 2014-09-25
      相关资源
      最近更新 更多