com.alibaba easyexcel1.1.2-beta5
@Component public class ExcelFactory{ public ExportExcelUtil createExportExcel() { return new ExportExcelUtil<>(); } }
@Data public class GuangGaoJiExcel extends baseRowModel { @ExcelProperty(value = {"公司名"},index = 0) private String companyName; @ExcelProperty(value = {"接入码"},index = 1) private String machineNum; @ExcelProperty(value = {"接入密码"},index = 2) private String machineSeq; @ExcelProperty(value = {"发布信息账号"},index = 3) private String publishAccount; @ExcelProperty(value = {"公司logo"},index = 4) private String logo; @ExcelProperty(value = {"公司地址"},index = 5) private String address; @ExcelProperty(value = {"广告宣传语"},index = 6) private String slogan; @ExcelProperty(value = {"摆放位置"},index = 7) private String location; @ExcelProperty(value = {"创建时间"},index = 8) private String createTime; @ExcelProperty(value = {"创建人"},index = 9) private String createBy; }
@Resource private ExcelFactory excelFactory; public void exportData(HttpServletResponse response) { ListidList = dao.getAllId(); if (idList.size() > 0) { List data = new ArrayList<>(); for (Long id : idList) { logger.info("id:{}",id); AdPartner adPartner = dao.findById(id).orElse(null); User user = userDao.findById(String.valueOf(adPartner.getUserId())).orElse(null); AdPartnerDto dto = getDetail(id); GuangGaoJiExcel guangGaoJiExcel = new GuangGaoJiExcel(); BeanUtils.copyProperties(dto,guangGaoJiExcel); guangGaoJiExcel.setCreateTime(String.valueOf(adPartner.getCreatedTime())); if (null != user) { guangGaoJiExcel.setCreateBy(user.getNickname()); } data.add(guangGaoJiExcel); } String name = "广告机数据表.xlsx"; try { excelFactory.createExportExcel().exportExcel(response,data, GuangGaoJiExcel.class,name); } catch (Exception e) { logger.error("下载失败:{}",e.getMessage()); } } }
public class ExportExcelUtil{ public ExportExcelUtil() {} public void exportExcel(HttpServletResponse response, List data, Class clazz, String fileName) throws IOException { response.reset(); response.setContentType("application/vnd.ms-excel"); // 注意,这里filename*=utf-8''是为了避免导出的文件名乱码!!! response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf-8")); OutputStream out = null; try { out = response.getOutputStream(); //ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX); StyleExcelHandler handler = new StyleExcelHandler(); //ExcelWriter writer = new ExcelWriter(null,out, ExcelTypeEnum.XLSX,true); ExcelWriter writer = new ExcelWriter(null,out, ExcelTypeEnum.XLSX,true,handler); Sheet sheet1 = new Sheet(1, 0, clazz); sheet1.setSheetName("sheet1"); writer.write(data, sheet1); writer.finish(); } finally { if (out != null) { out.close(); } } } public void createExcel(ByteArrayOutputStream out,List data, Class clazz) throws IOException{ //StyleExcelHandler handler = new StyleExcelHandler(); ExcelWriter writer = new ExcelWriter(null,out, ExcelTypeEnum.XLSX,true); Sheet sheet1 = new Sheet(1, 0, clazz); sheet1.setSheetName("在线咨询数据分析表"); writer.write(data, sheet1); writer.finish(); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)