用Jakarta POI操作Excel文件

Jakarta POI 是一套用於訪問微軟格式文檔的Java API。

Jakarta POI有很多組件組成,其中有用於操作Excel格式文件的HSSF和用於早在Word的HWPF,在各種組件中目前只有用於操作Excel的HSSF相對成熟。它的官方首頁是:http://jakarta.apache.org/poi/hssf/index.html,這裏可以下載到它的最新版本和文檔。

下面就來看看如何通過Jakarta POI的HSSF操作Excel文件。

操作Excel文件的步驟同JXL類似(關於如何用JXL操作Excel可以看我的另外兩篇文章)。

HSSF對Excel的操作主要是通過下面幾個對象實現:
HSSFWorkbook    工作簿對象對應於Excel文件
HSSFSheet       Sheet對象對應於Excel中的Sheet
HSSFRow         行對象表示Sheet中的一行(這個對象在JXL中並沒有提供)
HSSFCell        單元格對象

操作步驟就是用HSSFWorkbook打開或者創建“Excel文件對象”,用HSSFWorkbook對象返回或者創建Sheet對象,用Sheet對象返回行對象,用行對象得到Cell對象,有了Cell對象就隨你讀寫了。下面來看一個動態生成Excel文件的例子:

//創建HSSFWorkbook對象
HSSFWorkbook wb = new HSSFWorkbook();
//創建HSSFSheet對象
HSSFSheet sheet = wb.createSheet("sheet0");
//創建HSSFRow對象
HSSFRow row = sheet.createRow((short)0);
//創建HSSFCell對象
HSSFCell cell=row.createCell((short)0);
//用來處理中文問題
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
//設置單元格的值
cell.setCellValue("單元格中的中文");
//定義你需要的輸出流
OutputStream out = new FileOutputStream("viwo.xls");
//輸出Excel
wb.write(out);
out.flush();

HSSF讀取文件同樣還是使用這幾個對象,只是把相應的createXXX方法變成了getXXX方法即可。
只要理解了其中原理,不管是讀還是寫亦或是特定格式都可以輕鬆實現,正所謂知其然更要知其所以然。

最後附上HSSF官方的QuickGuide:《Busy Developers' Guide to HSSF Features》,雖然是英文的但還是很容易理解的。
http://jakarta.apache.org/poi/hssf/quick-guide.html

到此Java操作Excel文章系列就結束了,下一篇會介紹如何使用JFreeChart生成各種圖。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章