一个sheet动态导出、伪代码,创建填充后的workbook对象
List<Map<String, Object>>list = new ArrayList<Map<String, Object>>();
HashMap<String, Object> map = new HashMap<>();
map.put("name", "小明");
map.put("age", "18");
list1.add(map);
List<ExcelExportEntity> entitys=new ArrayList<>();
entitys.add(new ExcelExportEntity("名字" ,"name"));
entitys.add(new ExcelExportEntity("年龄" ,"age"));
ExportParams exportParams = new ExportParams(null, "sheet1名字");
exportParams.setType(ExcelType.XSSF);
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list);
多个sheet动态导出、伪代码,创建填充后的workbook对象
List<Map<String, Object>> sheet1ListMap= new ArrayList<Map<String, Object>>();List<Map<String, Object>> sheet2ListMap= new ArrayList<Map<String, Object>>();List<ExcelExportEntity> sheet1List=new ArrayList<>();
sheet1List.add(new ExcelExportEntity("名字" ,"name"));
sheet1List.add(new ExcelExportEntity("年龄" ,"age"));List<ExcelExportEntity> sheet2List=new ArrayList<>();
sheet2List.add(new ExcelExportEntity("学号" ,"sno"));
sheet2List.add(new ExcelExportEntity("课程" ,"course"));ExportParams exportParams1 = new ExportParams(null, "sheet1名字");
exportParams1.setType(ExcelType.XSSF);ExportParams exportParams2 = new ExportParams(null, "sheet2名字");
exportParams2.setType(ExcelType.XSSF);Workbook workbook = new XSSFWorkbook();
ExcelExportService service = new ExcelExportService();
// 创建sheet1,执行的先后顺序
service.createSheetForMap(workbook, exportParams1, sheet1List, sheet1ListMap);
// 创建sheet2
service.createSheetForMap(workbook, exportParams2, sheet2List, sheet2ListMap);
注意:方法createSheetForMap()是有使用限制的,导出的数据不能为null。假如需要导出只用表头,没有数据的的表单,需要创建对应的实体类,使用注解的方式
参考文档:easy-poi实现动态列(标题)、多sheet导出excel文档等操作-附完整测试用例