导出样式:
public void xqExport(HttpServletResponse response) throws Exception {
// 数据
List<Map<String, Object>> mxList = (List<Map<String, Object>>) objectMap.get("mx");
List<ExcelExportEntity> columnList = new ArrayList<>();
ExcelExportEntity colEntity1 = new ExcelExportEntity("AAAA", "aaaa");
colEntity1.setNeedMerge(true);// 纵向合并
colEntity1.setWidth(15);
columnList.add(colEntity1);
ExcelExportEntity colEntity2 = new ExcelExportEntity("BBBB", "bbbb");
colEntity2 .setNeedMerge(true);// 纵向合并
colEntity2 .setWidth(15);
columnList.add(colEntity2 );
ExcelExportEntity ccEntity = new ExcelExportEntity("CCDD", "ccddMapList");
List<ExcelExportEntity> ccList = new ArrayList<>();
ExcelExportEntity e1 = new ExcelExportEntity("CC", "cc");
e1.setWidth(15);
ccList.add(e1);
ExcelExportEntity e2 = new ExcelExportEntity("DD", "dd");
e2.setWidth(15);
ccList .add(e2);
ccEntity .setList(ccList );
ccEntity .setWidth(20);
columnList.add(ccEntity );
List<Map<String, Object>> dataList = new ArrayList<>();
if (CollectionUtils.isEmpty(mxList)) {
for (Map<String, Object> map : mxList) {
Map<String, Object> values = new HashMap<>();
values.put("aaaa", "a");
values.put("bbbb", "b3");
List<Map<String, Object>> ccddMapList= new ArrayList<>();
Map<String, Object> ccMap = new HashMap<>();
ccMap .put("cc", 0);
ccMap .put("dd", 0);
ccddMapList.add(ccMap );
values.put("zhMapList", ccddMapList);
dataList.add(values);
}
}
// 定义标题和sheet名称
ExportParams exportParams = new ExportParams(null, "信息");
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, columnList, dataList);
//CellRangeAddress(第几行开始,第几行结束,第几列开始,第几列结束)
//单元格内容相同才能横向合并
CellRangeAddress craOne = new CellRangeAddress(mxList.size(), mxList.size(), 0, 2);
workbook.getSheetAt(0).addMergedRegion(craOne);
// 下载
response.setHeader("Content-Disposition",
"attachment;filename=" + new String("信息".getBytes("UTF-8"), "iso8859-1"));
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
BufferedOutputStream bufferedOutPut = new BufferedOutputStream(response.getOutputStream());
workbook.write(bufferedOutPut);
bufferedOutPut.flush();
bufferedOutPut.close();
}