java导出excel多个sheet_java导出Excel多个工作表(添加多个sheet)
如果數(shù)據(jù)量比較大(十萬(wàn)以上)建議導(dǎo)成多個(gè)excel文件,之后壓縮成zip文件進(jìn)行下載
//生成一個(gè)excel文件
WritableWorkbook wwb = null;
try {
//首先要使用Workbook類的工廠方法創(chuàng)建一個(gè)可寫(xiě)入的工作薄(Workbook)對(duì)象
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
log.error(e);
}
long totle = service.getTotle(searchParameters);//業(yè)務(wù)邏輯方法,獲取總數(shù),便于在excel分多個(gè)工作表
//按65536條數(shù)據(jù)分頁(yè)
float res=Float.parseFloat(String.valueOf(totle));
float mus=65536;
float avg=res/mus;
Map cols = (Map) request.getSession().getAttribute("columnsMap"); //業(yè)務(wù)邏輯方法
for (int i = 0; i < avg+1; i++) {
searchParameters.setEvent_id(String.valueOf(i*mus)); //分頁(yè)查詢條件
searchParameters.setTotalLimit(String.valueOf((i+1)*mus));//分頁(yè)查詢條件
List result = service.getEvents(searchParameters); //分頁(yè)查詢方法
if(wwb!=null){
//創(chuàng)建一個(gè)可寫(xiě)入的工作表
//Workbook的createSheet方法有兩個(gè)參數(shù),第一個(gè)是工作表的名稱,第二個(gè)是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("列表"+(i+1), i);
String colss = ((String) cols.get("cols")).substring("selected"
.length() + 1);
String[] columns = colss.split(","); //業(yè)務(wù)邏輯方法(添加標(biāo)題)
String[] colNames = ((String) cols.get("colNames")).split(",");
for (int j = 0; j < columns.length; j++) {
jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,jxl.format.UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK);
jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
wcfFC.setBackground(Colour.GRAY_25);
Label label = new Label(j, 0,colNames[j],wcfFC);
ws.setColumnView(j, 20); //設(shè)置列寬
ws.addCell(label); //添加標(biāo)題
}
String str="";
//下面開(kāi)始添加單元格
for(int m=0;m
直接代碼:
總結(jié)
以上是生活随笔為你收集整理的java导出excel多个sheet_java导出Excel多个工作表(添加多个sheet)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java注销登录_java实现注销登录
- 下一篇: java 注释 超链接_java_Jav