我正嘗試使用Apache POI讀取舊的(2007之前和XLS)Excel文件。我的程序進入行的末尾並進行迭代,直到找到不爲空或空的東西。然後它迭代幾次並抓住那些單元。此程序可以在XLSX就好了閱讀和XLS文件在Office 2010製作使用Apache POI從Excel讀取單元格中的問題
我收到以下錯誤信息:
Exception in thread "main" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
在該行:
num = Double.parseDouble(str);
從代碼:
str = cell.toString();
if (str != "" || str != null) {
System.out.println("Cell is a string");
num = Double.parseDouble(str);
} else {
System.out.println("Cell is numeric.");
num = cell.getNumericCellValue();
}
其中cell
是文檔中最後一個非空或n的單元格或n ULL。當我嘗試打印第一個不爲空或空的單元格時,它不打印任何內容,所以我認爲我沒有正確訪問它。
你爲什麼不使用的細胞類型,以確定它是否是一個字符串或數字或空? – Gagravarr
我試過了,當我這樣做的時候會返回一個答案,當我把它當作返回的答案時,單元格仍然顯示爲「空白」。我打開了其引用的excel文件,數字是正確的,它試圖讀取的單元格不是空白的。 – Nick
你確定你不是一個人嗎? Excel從A1開始,POI從0行0列開始。(POI有實用方法將excel引用轉換爲行/列以避免這種錯誤) – Gagravarr