java处理Excel(POI包)
Jakarta POI 是一套用于訪問(wèn)微軟格式文檔的Java API。
Jakarta POI有很多組件組成,其中有用于操作Excel格式文件的HSSF和用于早在Word的HWPF,在各種組件中目前只有用于操作Excel的HSSF相對(duì)成熟。它的官方首頁(yè)是:http://jakarta.apache.org/poi/hssf/index.html,這里可以下載到它的最新版本和文檔。
下面就來(lái)看看如何通過(guò)Jakarta POI的HSSF操作Excel文件。
操作Excel文件的步驟同JXL類(lèi)似(關(guān)于如何用JXL操作Excel可以看我的另外兩篇文章)。
HSSF對(duì)Excel的操作主要是通過(guò)下面幾個(gè)對(duì)象實(shí)現(xiàn):
HSSFWorkbook??? 工作簿對(duì)象對(duì)應(yīng)于Excel文件
HSSFSheet?????? Sheet對(duì)象對(duì)應(yīng)于Excel中的Sheet
HSSFRow???????? 行對(duì)象表示Sheet中的一行(這個(gè)對(duì)象在JXL中并沒(méi)有提供)
HSSFCell??????? 單元格對(duì)象
操作步驟就是用HSSFWorkbook打開(kāi)或者創(chuàng)建“Excel文件對(duì)象”,用HSSFWorkbook對(duì)象返回或者創(chuàng)建Sheet對(duì)象,用Sheet對(duì)象返回行對(duì)象,用行對(duì)象得到Cell對(duì)象,有了Cell對(duì)象就隨你讀寫(xiě)了。下面來(lái)看一個(gè)動(dòng)態(tài)生成Excel文件的例子:
//創(chuàng)建HSSFWorkbook對(duì)象
HSSFWorkbook wb = new HSSFWorkbook();
//創(chuàng)建HSSFSheet對(duì)象
HSSFSheet sheet = wb.createSheet("sheet0");
//創(chuàng)建HSSFRow對(duì)象
HSSFRow row = sheet.createRow((short)0);
//創(chuàng)建HSSFCell對(duì)象
HSSFCell cell=row.createCell((short)0);
//用來(lái)處理中文問(wèn)題
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
//設(shè)置單元格的值
cell.setCellValue("單元格中的中文");
//定義你需要的輸出流
OutputStream out = new FileOutputStream("viwo.xls");
//輸出Excel
wb.write(out);
out.flush();
HSSF讀取文件同樣還是使用這幾個(gè)對(duì)象,只是把相應(yīng)的createXXX方法變成了getXXX方法即可。
只要理解了其中原理,不管是讀還是寫(xiě)亦或是特定格式都可以輕松實(shí)現(xiàn),正所謂知其然更要知其所以然。
最后附上HSSF官方的QuickGuide:《Busy Developers' Guide to HSSF Features》,雖然是英文的但還是很容易理解的。
http://jakarta.apache.org/poi/hssf/quick-guide.html?
總結(jié)
以上是生活随笔為你收集整理的java处理Excel(POI包)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。