Apache POI-3.15.jar是完全開源在java上用來處理excel文件以及其他的例如pdf文件的多功能jar包,多用于導入導出、寫入讀取excel表格,程序猿們快來IT貓撲下載吧!
Apache POI是什么
Apache POI是一個開源的Java讀寫Excel、word等微軟OLE2組件文檔的項目。
Apache POI 3.15 內容
Apache POI比較穩定的最新poi jar包(3.15)。
使用時直接解壓即可,其中ooxml-lib目錄下有你可能比較需要的xmlbean.jar;
docs里面包含官方文檔以及一些使用的示例(英文的),lib里面是其他的一些jar包。
你需要的poi-3.15.jar, poi-examples-3.15.jar , poi-excelant-3.15.jar , poi-ooxml-3.15.jar, poi-ooxml-schemas-3.15.jar , poi-scratchpad-3.15.ja解壓后即可看到。
Apache POI3.15.jar使用經驗
1、POI-3.15的Sheet.getLastRowNum()是0-based;Row.getLastColNum()結果是1-based。
2、poi中getPhysicalNumberOfRows()和getLastRowNum()區別 :?
舉例說明:修改xlsx文件后綴為rar,解壓之(xlsx是ooxml格式的文件)。
找到xl\worksheets\sheet*.xml文件,打開,可以看到這是一個xml文件,這時候,如果我們在其中的sheetData元素中添加一個空的
getPhysicalNumberOfRows()計算的是所有的
getLastRowNum()計算的是所有
所以我們在遍歷EXCEL的時候,應該使用的遍歷行號上限(閉區間)是getLastRowNum().
在這其中,可能會遇到Row==null的情況需要跳過。?
另一方面,出于業務方向的考慮,我們一般要檢查row!=null的時候一行中是否全是“空白”符號,如果全是空白符號的行一般不作為數據行分析。?
3、有關格式,千萬不要試圖將那些線程不安全的對象作為靜態常量,之前在使用jxl框架的時候,企圖將格式對象作為全局靜態常量,最后居然在因為線程不安全居然出現了相當摸不著頭腦的bug(第一次導出成功,之后的同一導出請求的返回數據文件很可能會被損壞)。
使用方法
很多人都困惑POI那么多Jar到底應該導入哪一個。
實際上很多時候我們只利用POI來操作Excel。
甚至只用xls這一種格式。
那么就沒有必要全部都導入了。
當我們只要使用xls格式時、只要導入poi-version-yyyymmdd.jar就可以了。
當我們還要使用xlsx格式、還要導入poi-ooxml-version-yyyymmdd.jar。
至于poi-ooxml-schemas-version-yyyymmdd.jar這個jar基本不太會用到的。





