2013-07-15 46 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