2013-07-15 42 views
1

我目前需要在从web应用程序转换的excel中以标准格式显示数据。要显示所需vb.net导出为ex​​cel更改单元格格式

数字格式: 999.00

我使用:

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

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

任何可以将单元格格式更改为数字的操作?

我试图增加一个空格键在之间,显示2个小数点:

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

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

回答

2

看来你在寻找Range.NumberFormat属性。 这个片段可以帮助你:

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

如需更多帮助,退房this之一。

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" 
+0

感谢您的回复。 Excel用户现在可以通过单击网站中的“导出”按钮打开Excel中的文件,但由于excel autoformat格式与网站中的格式不同。有可能我改变excel选项来禁用将“99.00”更改为“99”的自动格式? – Feliks

+0

如何创建excel文件,当他们命中出口?您是使用Excel Interop库还是使用其他内容?使用Interop它会像:微软的风格,如Microsoft.Office.Interop.Excel.Style – Ted