poi匯出excel以及一些常用格式樣式設定

2021-10-01 14:41:44 字數 1773 閱讀 6901

string txtfilepath = request.getservletcontext().getrealpath("./")

+ file.separator + system.currenttimemillis() +"_oldfile";

list> maplist = new arraylist>();

例項hssfworkbook,這種情況是考慮要生成多個sheet頁,這樣的話下邊執完幾次createexcel就建立幾個sheet頁,都在乙個excel中:

hssfworkbook workboot = new hssfworkbook();

createexcel(workboot,txtfilepath,maplist);

workboot.close();

下邊是匯出的**以及一些常用格式樣式的設定,這裡不拆開寫了,注釋很明確:

private void createexcel(hssfworkbook workboot, string txtfilepath, list> maplist) throws filenotfoundexception, ioexception else

//建立每一頁的排頭資訊

row = sheet.createrow(sheet.getlastrownum()+1);

cell = row.createcell(0);

cell.setcellstyle(style);

cell.setcellvalue("第 " + page + " 頁/共 " + pagetotal + "頁");

cell = row.createcell(1);

cell.setcellstyle(style);

cell = row.createcell(2);

cell.setcellstyle(style);

//合併單元格(起始行,結束行,起始單元格,結束單元格)

cellrangeaddress hebinhang = new cellrangeaddress(sheet.getlastrownum(),

sheet.getlastrownum(),0,2);

sheet.addmergedregion(hebinhang);

for(int k = i*10; k < (i+1)*10; k++)

row = sheet.createrow(sheet.getlastrownum()+1);

for(int ce = 0; ce < 3; ce ++)

}//新增乙個分頁符

sheet.setrowbreak(sheet.getlastrownum());

} workboot.write(new fileoutputstream(txtfilepath));

}

最後提醒一下,這裡使用的jar均為3.15,分別是poi-3.15.jar、poi-ooxml-3.15.jar、poi-ooxml-schemas-3.15.jar。因為樣式方面,比如對齊方式的寫法在3.15版本jar裡已經不推薦使用,3.17的自然就給乾掉了,至於3.17版本裡對於樣式的一些寫法這裡就不一一介紹了,做個提醒。

其實大概步驟就是:

例項workboot,建立工作簿

建立sheet頁

建立樣式,樣式建立的順序並沒有要求,先建立出來方便後邊單元格或者sheet頁的新增

建立行建立列,新增樣式,存值

寫入工作簿

釋放

poi一些操作

1 poi獲得的excel的數字格式不對,通過如下decimalformat轉換回來 decimalformat df newdecimalformat system.out.println df.format 2.020070801e9 system.out.println df.format 1...

jxl匯出excel的一些方法

在做struts應用開發過程中,有時遇到需要匯入匯出excel,下面是其中一些常用的方法 1 匯入excel表時對錶中內容驗證 for int i 2 i30 check if j 3 cell.getcontents length 1200 check if j 0 j 2 check 2 設定某...

關於poi匯入excel資料的一些心得

最近在做excel資料匯入模組,不通過伺服器,以檔案流的形式傳輸excel,直接導到相應的資料庫表中.用poi的方式可以實現.但在匯入資料時候,遇到了資料中如果有空行,或者空行的cell中有空格,匯入到資料庫中將會是空的資料.但是需求是如果遇見資料匯入時,某一行沒有資料為空行,或者空行中的cell有...