POI操作Excel常用方法

2021-07-13 21:15:29 字數 3526 閱讀 3737

poi

一、hssf

是horrible spreadsheet format

的縮寫

二、hssf

為讀取操作提供了兩類

api:

usermode和eventusermodel,即「使用者模型」和「事件-

使用者模型」

三、poi excel文件結構

hssfworkbook

文件物件

hssfsheet

**hssfrow

行hssfcell

單元格hssffont

字型hssfname

名稱hssfdataformat

日期格式

hssfheader

**頭hssffooter

**尾hssfcellstyle

單元格樣式

hssfdateutil

日期hssfprintsetup

列印hssferrorconstants

錯誤資訊表

四、excel

常用操作方法

1、 得到excel常用物件

讀取檔案:

poifsfilesystem fs=new poifsfilesystem(new fileinputstream("d:/test.xls"));   

得到excel

工作簿物件:    

hssfworkbook wb = new hssfworkbook(fs);  

得到excel

工作表物件:    

hssfsheet sheet = wb.getsheetat(0);   

得到excel

工作表的行:    

hssfrow row = sheet.getrow(i);  

得到excel

工作表指定行的單元格:    

hssfcell cell = row.getcell((short) j);  

得到單元格樣式:

cellstyle = cell.getcellstyle(); 

2、 建立excel常用物件

hssfworkbook wb = new hssfworkbook();//建立

excel

工作簿物件

hssfsheet sheet = wb.createsheet("new sheet");//建立

excel

工作表物件

hssfrow row = sheet.createrow((short)0); //建立

excel

工作表的行

cellstyle = wb.createcellstyle();//建立單元格樣式

row.createcell((short)0).setcellstyle(cellstyle); //建立

excel

工作表指定行的單元格

row.createcell((short)0).setcellvalue(1); //設定

excel

工作表的值

3、設定sheet名稱和單元格內容

wb.setsheetname(1, "第一張工作表

",hssfcell.encoding_utf_16);          

cell.setencoding((short) 1);      

cell.setcellvalue("單元格內容

");  

4、取得sheet的數目

wb.getnumberofsheets()   

5、  根據index取得sheet物件

hssfsheet sheet = wb.getsheetat(0);  

6、取得有效的行數

int rowcount = sheet.getlastrownum();  

7、取得一行的有效單元格個數

row.getlastcellnum();  

8、單元格值型別讀寫

cell.setcelltype(hssfcell.cell_type_string); //設定單元格為

string型別

cell.getnumericcellvalue();//讀取為數值型別的單元格內容

9、設定列寬、行高

sheet.setcolumnwidth((short)column,(short)width);      

row.setheight((short)height);    

10、新增區域,合併單元格

region region = new region((short)rowfrom,(short)columnfrom,(short)rowto  

,(short)columnto);//合併從第

rowfrom

行columnfrom列

sheet.addmergedregion(region);// 到

rowto

行columnto

的區域

//得到所有區域

sheet.getnummergedregions()   

11、儲存excel檔案

fileoutputstream fileout = new fileoutputstream(path);   

wb.write(fileout);   

12、根據單元格不同屬性返回字串數值

public string getcellstringvalue(hssfcell cell) 

}system.out.println();}}

}} catch (exception e) }

public void testwriteexcel() catch (exception e)

if (workbook != null)

for (int rownum = 1; rownum < 10; rownum++)

}try catch (exception e)

} }/***

* 讀取單元格的值

* * @title: getcellvalue

* @date : 2014-9-11 上午10:52:07

* @param cell

* @return

*/private string getcellvalue(cell cell)

} return result.tostring(); }

public static void main(string args)

}

使用POI操作Excel

apache的jakata專案poi http poi.apache.org 用來操作excel,並能滿足大部分需要.poi下面有幾個子專案,其中hssf xssf專案 http poi.apache.org spreadsheet index.html 用來實現excel讀寫的.public st...

POI 操作 EXCEL檔案

1.最新的poi工具包 poi 主頁 快速上手使用poi hssf 2 excel 結構 hssfworkbook excell 文件物件介紹 hssfsheet excell的表單 hssfrow excell的行 hssfcell excell的格仔單元 hssffont excell字型 hs...

關於POI操作Excel

1.先導入jar包。poi 3.8.jar 不同版本操作的excel格式不同,xls和xlsx hssfworkbook,操作xls格式的excel xssfworkbook,操作xlsx格式的excel 最簡單的方法 test 測試excel.xls 2下面是 的方法 迴圈讀取sheet中的row...