C#:DataTable 到 Excel(货币格式)
Posted
技术标签:
【中文标题】C#:DataTable 到 Excel(货币格式)【英文标题】:C#: DataTable to Excel (Currency Formatting) 【发布时间】: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 中它也是正确的。 【参考方案1】:问题解决了。 数字在数据库中保存为“文本”,而不是数字。 我刚刚将 excel 格式更改为“文本”,现在它可以工作了。
【讨论】:
以上是关于C#:DataTable 到 Excel(货币格式)的主要内容,如果未能解决你的问题,请参考以下文章