域名注册网站排行一流的上海网站建设公司
web/
2025/9/30 4:08:50/
文章来源:
域名注册网站排行,一流的上海网站建设公司,平台网站开发的税率,网站在线咨询系统问题#xff1a;如图#xff0c;1部分的表头是动态的根据日期变化#xff0c;2部分是数据库对应的字段#xff0c;静态不变的#xff1b; 解决方案#xff1a;如果不看1的部分#xff0c;2部分内容可以根据实体类注解的方式导出#xff0c;那么我们是不是可以先将动态表… 问题如图1部分的表头是动态的根据日期变化2部分是数据库对应的字段静态不变的 解决方案如果不看1的部分2部分内容可以根据实体类注解的方式导出那么我们是不是可以先将动态表头1 写入到Excel中然后再用注解实体类的方式将2部分和内容写入到Excel中。 // 以下是伪代码参考无法直接运行// 设置动态表头
ListString head new ArrayList();String name String.format(sheetName, LocalDate.now().getYear(), LocalDate.now().getMonth().getValue());if (StringUtils.isNotBlank(publicityReq.getCountyId())) {name name \n depart departName;
}head.add(name);
headList.add(head);ExcelWriter excelWriter EasyExcel.write(response.getOutputStream(), TPublicityInfo.class).build();
// 创建sheet
WriteSheet writeSheet EasyExcel.writerSheet(String.format(sheetName, LocalDate.now().getYear(), LocalDate.now().getMonth().getValue())).needHead(Boolean.FALSE).build();
// 将动态表头写入sheetnew ArrayList()代表写入空数据
WriteTable writeTable0 EasyExcel.writerTable(0).head(headList).registerWriteHandler(new OnceAbsoluteMergeStrategy(0, 2, 0, 7)).needHead(Boolean.TRUE).build();excelWriter.write(new ArrayList(), writeSheet, writeTable0);
// 将静态表头内容写入sheettPublicityInfos代表内容数据
WriteTable writeTable2 EasyExcel.writerTable(3).head(TPublicityInfo.class).relativeHeadRowIndex(2).needHead(Boolean.TRUE).build();excelWriter.write(tPublicityInfos, writeSheet, writeTable2);
excelWriter.finish(); 下边是项目中的完整代码可以做简单参考 public void exportExcel(Principal principal, HttpServletResponse response, PublicityInfoReq publicityReq) throws IOException {String sheetName %s年%s月xxxx;String depart 单位;String personId AuthenticationInfo.getUserId(principal);String departsCode ;if (StringUtils.isNotEmpty(publicityReq.getCorpId())) {DepartInfo departInfo iDepartSCodeService.getVDeptById(publicityReq.getCorpId());departsCode departInfo.getDepartScode();} else {departsCode iDepartSCodeService.getDeptScode(personId);}publicityReq.setDepartsCode(departsCode);ListTPublicityInfo tPublicityInfos publicityMapper.listByPublicity(publicityReq);if (CollectionUtils.isNotEmpty(tPublicityInfos)) {for (int i 0; i tPublicityInfos.size(); i) {TPublicityInfo tPublicityInfo tPublicityInfos.get(i);tPublicityInfo.setNum(i1);}}ListString departNames this.baseMapper.selectDepartNameByDepartId(publicityReq.getCountyId());String departName ;if (CollectionUtils.isNotEmpty(departNames) departNames.size() 1) {departName departNames.get(0);}ListListString headList new ArrayList();ListString head new ArrayList();String name String.format(sheetName, LocalDate.now().getYear(), LocalDate.now().getMonth().getValue());if (StringUtils.isNotBlank(publicityReq.getCountyId())) {name name \n depart departName;}head.add(name);headList.add(head);ExcelWriter excelWriter EasyExcel.write(response.getOutputStream(), TPublicityInfo.class).build();WriteSheet writeSheet EasyExcel.writerSheet(String.format(sheetName, LocalDate.now().getYear(), LocalDate.now().getMonth().getValue())).needHead(Boolean.FALSE).build();WriteTable writeTable0 EasyExcel.writerTable(0).head(headList).registerWriteHandler(new OnceAbsoluteMergeStrategy(0, 2, 0, 7)).needHead(Boolean.TRUE).build();excelWriter.write(new ArrayList(), writeSheet, writeTable0);WriteTable writeTable2 EasyExcel.writerTable(3).head(TPublicityInfo.class).relativeHeadRowIndex(2).needHead(Boolean.TRUE).build();excelWriter.write(tPublicityInfos, writeSheet, writeTable2);excelWriter.finish();
} 本文由博客一文多发平台 OpenWrite 发布
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84251.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!