项目需求是将前端传来的table表格中数据导出excel,之前的那种如果表头固定的话使用导出很方便,但是这个表头不一定,所以需要进行处理
封装好的那种使用注解的我就不展示了,只围绕当前需求把代码po出来
publicvoidXXXExcel(@RequestBodyDynamicExcel excel,HttpServletResponse response)throwsIOException{String fileName="XXX导出"; response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding(Charsets.UTF_8.name()); fileName=URLEncoder.encode(fileName,Charsets.UTF_8.name()); response.setHeader("Content-disposition","attachment;filename="+ fileName+".xlsx");EasyExcel.write(response.getOutputStream()).sheet("XXX导出").head(excel.getHead()).doWrite(excel.getBody());}
依赖的实体类结构比较简单
@DatapublicclassDynamicExcel{List<List<String>> head;List<List<String>> body;}
前端传来的json样式