【问题标题】:C#: DataTable to Excel (Currency Formatting)C#:DataTable 到 Excel(货币格式)
【发布时间】:2016-06-22 13:07:33
【问题描述】:

我有一个小问题,我不知道如何解决它。 DataTable 的来源是 MS SQL Server。 它通过查询从中获取值。

这一切都有效。 Excel 专家也可以。 但我在格式化数字时遇到了问题。

在 DataTabla 中一切正常,因为我已将单元格格式化为:

this.dataGridView1.Columns["Money"].DefaultCellStyle.Format = "C";

这非常有效。 但是当我将它导出到 excel 时,数字看起来像:

9700000

DataTable中的原点编号为:

970,00

所以现在我必须格式化整个单元格。 我这样做:

Range rg = excelSheet.Cells[3, 3];
rg.EntireColumn.NumberFormat = "€ ##0.00";

这行得通。它需要所有单元格并更改格式。 但是格式不正确,我不知道如何指定正确的格式。

请帮帮我。 我需要这个尽快。

提前致谢!

您好, 普卡斯。

【问题讨论】:

  • 根据您的发现,什么是不正确的新格式?
  • DataTable 中格式正确,数字显示为“970,00”。但是,当我使用 DataTable 进行优化时,数字看起来像“9700000”,其中的零比数字包含的多得多,而且没有逗号。这需要解决。
  • 逗号是小数点吗?
  • 是的,逗号是小数点。 Excel 得到错误的数字格式,我不知道为什么。因为在 SQL 表中它是正确的,在 DataTable 中它也是正确的。

标签: c# excel datatable number-formatting excel-interop


【解决方案1】:

问题解决了。 数字在数据库中保存为“文本”,而不是数字。 我刚刚将 excel 格式更改为“文本”,现在它可以工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多