1

我目前需要在从 Web 应用程序转换的 excel 中以标准格式显示数据。

需要显示的数字格式:999.00

我用:

 CDbl(number).ToString("#,##0.00") 

在 Web 应用程序中显示标准格式。但是当我将它转换为excel时,它显示:999(由于单元格格式=常规)

我可以做些什么来将单元格格式更改为数字?

我尝试在两者之间添加一个空格键以显示 2 个小数点:

CDbl(number).ToString("#,##0. 00")

它显示:999. 00(但它也改为字符串而不是数字并左对齐,这不是一个好的显示)

4

2 回答 2

2

您似乎正在寻找Range.NumberFormat属性。这个片段可以帮助你:

range.Cells(0,2).EntireColumn.NumberFormat = "@";

如需更多帮助,请查看

于 2013-07-15T03:09:55.683 回答
1

NeverHopeless 为您提供有关如何在 VBA 中使用宏来格式化 Excel 中的列的信息。但是,我怀疑您希望 excel 用户能够使用空白的 excel 文档将新值直接拉入 excel,或者有一种方法可以从网站快速打开 excel 中的格式化值。不幸的是,正如尝试从 csv 文件格式加载值所证明的那样,原始值不包含您在 excel 中需要的格式信息。

一种选择是在网站上托管一个“导出”按钮,以允许用户从网站下载一个文件,该文件是根据表中的数据值动态创建的,并且具有 excel 所需的格式。请务必使用能够控制数字格式的文件格式,例如 xlsx、xls、xml、sylk、dif 或其他只有原始数字值的 csv。

如果这是您想要的格式,您可能可以利用服务器端的 Excel API 来帮助创建 Excel 文件。然后你可以控制颜色,除了数字格式之外的各种东西。

使用 Excel 互操作库:

Dim style as Microsoft.Office.Interop.Excel.Style
style.NumberFormat = "#,##0.00"

参考范围:

myRange.NumberFormat = "#,##0.00"

当前选择也是一个范围,因此如果您希望它与选择一起使用,只需使用:

Selection.NumberFormat = "#,##0.00"
于 2013-07-15T03:28:31.877 回答