2012-07-12 149 views
0

是否有任何方法可以使用apache poi來讀取或寫入excel 2003和2007格式。我知道我們可以在2003年使用HSSF工作簿和2007年的XSSF(如果我錯了,請糾正我) 。但是有什麼方法可以使用任何單個工作簿讀取格式,但不能單獨使用。使用apache poi處理excel文件

回答

0

嘗試Workbook wb = WorkbookFactory.create(OPCPackage pkg);。 它應該工作。但是,如果XSSF太大,您將得到OutOfMemoryException,因此您應該使用事件用戶模型來讀取文件。在這種情況下,你應該閱讀你的路徑,並檢查文件的擴展名,如下列:

private boolean isXLS(String inputPath) { 
    String tmp = inputPath.substring(inputPath.length() - 3, 
      inputPath.length()); 
    if (tmp.equalsIgnoreCase("XLS")) 
     return true; 
    else 
     return false; 
} 

閱讀How-to有關事件的用戶模型的詳細信息。

希望它有幫助;

0

是的,你可以做到。事實上,它在Apache POI網站上的記載相當廣泛!

如果您已經有使用HSSF的代碼,那麼您應該按照HSSF to SS converting guide的要求幫助您將代碼更新爲兩種格式的通用代碼。

如果您還沒有任何代碼,請按照User API guide開始 - 所有代碼都適用於這兩種格式。您還可以查看Quick Guide中的一些特定問題以及如何以一般方式解決這些問題。

0

使用

WorkbookFactory.create(in); 

基於javadoc的,它

從給定的 InputStream創建適當的HSSFWorkbook/XSSFWorkbook。