vb.net导出到excel更改单元格格式

时间:2013-07-15 02:33:32

标签: .net vb.net export-to-excel

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

需要显示的数字格式: 999.00

我用:

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

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

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

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

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

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

2 个答案:

答案 0 :(得分:2)

您似乎正在寻找Range.NumberFormat财产。 此代码段可以帮助您:

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

如需更多帮助,请查看this一个。

答案 1 :(得分:1)

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

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

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

使用Excel Interop库:

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

引用范围:

myRange.NumberFormat = "#,##0.00"

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

Selection.NumberFormat = "#,##0.00"