我有使用Apache POI編寫的代碼,用於從使用hssf的.xls工作表讀取數據。我希望程序使用org.apache.poi.ss.usermodel來讀取.xlsx工作表。下面是代碼: (_filename被傳遞到功能)Apache POI - 使用usermodel讀取.xlsx和.xls文件
java.io.FileInputStream中FS =新java.io.FileInputStream中(_filename) 工作簿簿= WorkbookFactory.create(FS);
它引發.xlsx文件的以下異常:InavlidFormatException - 無法讀取內容類型部分! 我在Visual Studio中這樣做,所以輸出窗口顯示「在poi-ooxml-3.7-20101029.dll中發生了類型'org.apache.poi.openxml4j.exceptions.InvalidFormatException'的第一個機會異常。
而對於一個.xls文件,輸出窗口說「類型的第一次機會異常‘java.io.IOException異常’發生在IKVM.OpenJDK.Core.dll」
這將是巨大的,如果有人可以幫助我解決這個問題。這方面的工作從昨天起。
太謝謝你了! 達雅
我檢查了文件,這是正確的..雖然奇怪,但因爲當我寫了一個.xls文件並以.xlsx格式複製它的另一個程序,excel抱怨說它是無效的並且不會打開它,所以我不得不「修復」它,那麼原來的程序我已經接受了這個文件。問題出在我使用的dll上,因爲這些文件的副本位於程序可以訪問的多個位置。我只需刪除重複的副本。無論如何感謝一堆! – 2011-06-10 17:47:20