使用ApachePOI导出excel(多个sheet页)

定义代码表转换

private static final Map<String,String> codeMap = new HashMap<String, String>();
static{
	codeMap.put("prsc","BSIN_PRSC");
	codeMap.put("rstp","BSIN_RSTP");
}

1、查询出要导出的数据集合

//查询返回数据 - list集合
List<zcdjxxCxExcelVo> list = dsmSmBsinService.selectExcel(vo);
//代码表转换,把需要转代码的字段的值转成对应的汉字
List<zcdjxxCxExcelVo> resuleList = new ArrayList<zcdjxxCxExcelVo>();
for(zcdjxxCxExcelVo voL :list){
	sysCommonService.getLabelByValue(voL,codeMap);
	resuleList.add(voL);
}

2、设置导出excel路径

//导出的文件路径
String filePath="D:\\excel.xls";

3、创建excel文件

//创建Excel文件(Workbook)
HSSFWorkbook workbook = new HSSFWorkbook();

4、设置单元格样式

//设置单元格样式
HSSFCellStyle styleYs = workbook.createCellStyle();
styleYs.setAlignment(HSSFCellStyle.ALIGN_LEFT);

5、创建第一个sheet页

//创建工作表(Sheet)
HSSFSheet sheet = workbook.createSheet("sheet页1");

6、设置单元格跨度

//设置单元格跨度
//10代表这个sheet页里有多少列数据
for (int i = 0; i<= 5; i++){
	sheet.setColumnWidth(i,20*256);
}

7、设置表头数据

//表头数据
HSSFRow rowb = sheet2.createRow(0);// 创建行,从0开始
rowb.createCell(0).setCellValue("序号");
rowb.createCell(1).setCellValue("第一列");
rowb.createCell(2).setCellValue("第二列");
rowb.createCell(3).setCellValue("第三列");
rowb.createCell(4).setCellValue("第四列");
rowb.createCell(5).setCellValue("第五列");

8、填充单元格数据

for (int j = 0;j<resuleList.size();j++){
	HSSFRow row3 = sheet3.createRow(j+1);// 创建行,从0开始
	//设置序号自增
	HSSFCell cell1 = row3.createCell(0);
	cell1.setCellValue(j + 1);
	cell1.setCellStyle(styleYs);

	HSSFCell cell2 = row3.createCell(1);
    cell2.setCellValue(resuleList.get(j).getRsnm());
    cell2.setCellStyle(styleYs);
    if (resuleList.get(j).getFpstnm() != null) {
		HSSFCell cell = row11.createCell(2);
        cell.setCellValue(resuleList.get(j).getFpstnm());
        cell.setCellStyle(styleYs);
	}
	if (resuleList.get(j).getGyjzwss() != null) {
		HSSFCell cell = row11.createCell(3);
		cell.setCellValue(resuleList.get(j).getGyjzwss());
        cell.setCellStyle(styleYs);
	}
	if (resuleList.get(j).getMnsz35() != null) {
		HSSFCell cell = row11.createCell(4);
		cell.setCellValue(resuleList.get(j).getMnsz35());
		cell.setCellStyle(styleYs);
	}
	if (resuleList.get(j).getMaxfl() != null) {
		HSSFCell cell = row11.createCell(5);
		cell.setCellValue(resuleList.get(j).getMaxfl());
		cell.setCellStyle(styleYs);
	}
}

导出多个sheet页重复以上步骤

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值