2017-01-30 90 views
2

我剛剛下載了ClosedXML以供我在寫一個小應用程序使用。在應用程序中,我從數據庫加載一些數據以輸出到Excel文件。我的本地數字格式使用逗號作爲十進制指示符。它看起來像ClosedXML不能識別這些數字,結果他們被保存爲文本,我不得不手動轉換它們,當我打開文件。ClosedXML解析逗號的號碼

我已經試過細胞的DataType設置爲XLCellValues.Number,但是當我做,拋出一個異常,像"Cannot set data type to Number because '1534,8250' is not recognized as a number."看來,這個來自ClosedXML的使用CultureInfo.InvariantCulture,而不是CultureInfo.CurrentCulture

有沒有什麼辦法可以解決這個問題,不能用句點代替所有的逗號和/或重新編譯ClosedXML項目來使用CurrentCulture

+1

用句點替換逗號會產生什麼問題?這似乎是對我來說合乎邏輯的修復。 – Ben

+0

看起來應該是不必要的。它當然有效,但我寧願能夠設置格式。 – schneiju

回答

3

您應該始終以非文化格式存儲數據。文化應該只用於呈現數據。

這意味着,正確的解決方案是,保存到XML時,不應該使用格式化的字符串作爲編號。 Excel應該對特定文化的編號進行介紹。

+0

感謝您的提示。我改變了我的數據庫查詢,以匹配InvariantCulture格式,並運行整個程序與該文化。 Excel文件在打開時仍然以本地格式顯示所有內容,因此效果很好。 – schneiju