easypoi,多sheet导出,excel注解导出
程序员文章站
2022-05-17 09:18:57
...
1.controller
public void exportSsTj(HttpServletResponse response, String zwyf) throws Exception {
//查询结果一
final List<SsqktjVO> vos = ssqktjService.querySsqkTj(zwyf);
//查询结果二
List<YctjVO> yvos= ssqktjService.queryYcTj(zwyf);
//设置列表排除项,无需,则可不要
List<String> exclusions = new ArrayList<String>();
for (int i = 0; i < priceItems.size(); i++) {
exclusions.add(priceItems.get(i).getItemname());
}
// 创建参数对象(用来设定excel得sheet得内容等信息)
ExportParams params1 = new ExportParams() ;
// 设置sheet1得名称
params1.setSheetName("表一"); ;
params1.setTitle("测试sheet表一");
params1.setSecondTitle("月份:"+zwyf);
params1.setExclusions(exclusions.toArray(new String[priceItems.size()]));
// 创建sheet1使用得map
Map dataMap1 = new HashMap<>();
// title的参数为ExportParams类型,目前仅仅在ExportParams中设置了sheetName
dataMap1.put("title",params1) ;
dataMap1.put(NormalExcelConstants.PARAMS, params1);
// 模版导出对应得实体类型
dataMap1.put("entity",SsqktjVO.class) ;
// sheet中要填充得数据
dataMap1.put("data",list1) ;
// 创建sheet2使用得map
ExportParams params2 = new ExportParams() ;
params2.setSheetName("表二") ;
params2.setTitle("测试sheet表2");
params2.setSecondTitle("月份:"+zwyf);
Map dataMap2 = new HashMap<>();
dataMap2.put("title",params2) ;
dataMap2.put("entity",YctjVO.class) ;
dataMap2.put("data",yvos);
// 将sheet1和sheet2使用得map进行包装
List sheetsList = new ArrayList<>() ;
sheetsList.add(dataMap1);
sheetsList.add(dataMap2);
Workbook workbook = ExcelExportUtil.exportExcel(sheetsList, ExcelType.HSSF) ;
response.setContentType("applicationnd.ms-excel"); // 改成输出excel文件
String fileName = java.net.URLEncoder.encode("实收情况统计表", "UTF-8");
response.setHeader("Content-disposition",
"attachment; filename=" + fileName + ".xls");// 03版本后缀xls,之后的xlsx
OutputStream out = response.getOutputStream();
workbook.write(out);
}
2.model 实体类信息,(导出表头信息为实体类信息顺序)
//表一
/**
* 附加费
*/
@Excel(name="附加费",width=20)
private BigDecimal fjf = BigDecimal.ZERO;
/**
* 水资源税
*/
@Excel(name="水资源税",width=20)
private BigDecimal szys = BigDecimal.ZERO;
//表二
/**
* 月末金额
*/
@Excel(name="月末金额",width=20)
private BigDecimal qmycje= BigDecimal.ZERO;
/**
* 实收金额
*/
@Excel(name="实收金额",width=20)
private BigDecimal payje= BigDecimal.ZERO;
3.实例图片
上一篇: 斩杀了诸多开国功臣的朱元璋,他到底是明君还是暴君?
下一篇: 使用Jsoup爬虫爬取相关图片
推荐阅读
-
php 如何导出一个Excel,里面分为多个sheet
-
java开发easypoi导出excel表格数据
-
超级简单POI多sheet导出Excel实战
-
java开发easypoi导出excel表格数据
-
jsp导出excel并支持分sheet导出的方法
-
【springboot+easypoi】一行代码搞定excel导入导出
-
【SpringBoot】SpringBoot整合EasyPoi自定义字典导出Excel
-
.Net Excel 导出图表Demo(柱状图,多标签页)
-
超级简单POI多sheet导出Excel实战
-
Java自定义注解以及在POI导出EXCEL中的一个应用 javaannotationPOIexcel