2012-10-22 27 views
0

我有一個xlsx文件,並嘗試從它讀取數字,並將它們放在另一個文件中。問題是,有些數字被錯誤地閱讀,我不知道爲什麼。例如:NPOI號錯誤格式讀取

Number in excel | Number read 
----------------------------- 
139,8   | 1,398E+16 
2,2    | 2,2E+16 

有趣的是,這個問題只發生在一些數字上。格式化所有數字是相同的。 NPOI從excel中讀取確切的數字,而不是格式化的,所以我檢查了值,但嘿所有都與格式化的相同。

好吧,我想我發現了一個問題。現在我只需要找到解決方案。我提取了xlsx文件並檢查了存儲在單元格中的實際值。問題是,當我有價值139.80000000000001它被讀爲1,398E+16,所以我想NPOI解釋格式錯誤。它認爲。 (點)分隔數千,而不是。

+0

現在我在讀取值之前將單元格類型設置爲'STRING'。然後我用''替換''。'','並將其轉換爲'double'。它適用於我,但也許有更好的方法來實現這一目標? – JNM

回答

0

看起來這是一個已知的問題,並有在即將到來的NPOI 2.0 beta 1 release計劃修復:

發行說明

  • ...

  • 固定小數點用英文逗號分隔而不是點

0

它看起來是NPOI 2.0 alpha中的一個錯誤。如果它仍然存在,請嘗試NPOI 2.0 beta 1,我們將計劃在2.0最終版本中修復它。

1

只是爲了記錄,我剛剛從Alpha更新到Beta,並且它工作正常。現在我得到了單元格上的確切值。可以找到here