• poi多sheet,模板导出数据


    1. /**
    2. * 导出Excel
    3. * @param response 响应对象
    4. * @param headName 表头
    5. * @param List 数据
    6. */
    7. public static void exportExcel(HttpServletResponse response, String headName, List<数据对象> list) throws IOException {
    8. //读取模板
    9. Resource resource=new ClassPathResource("file/模板.xlsx");
    10. Workbook workbook=new XSSFWorkbook(resource.getInputStream());
    11. //设置数据剧中
    12. CellStyle cellStyle = workbook.createCellStyle();
    13. cellStyle.setAlignment(HorizontalAlignment.CENTER);
    14. cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
    15. //获得 sheet
    16. Sheet sheet= workbook.getSheetAt(0);
    17. //获得第一行 设置表头内容
    18. Row headRow = sheet.getRow(0);
    19. Cell headRowCell = headRow.getCell(0);
    20. headRowCell.setCellValue(headName);
    21. //从第表格第三行开始写入数据,根据模板设置index开始的值
    22. int index=2;
    23. Cell cell=null;
    24. for (XXX xxx : list) {
    25. //创建行
    26. Row rowData = sheet.createRow(index++);
    27. /创建cell 写入值
    28. cell=rowData.createCell(0);
    29. cell.setCellStyle(cellStyle);
    30. cell.setCellValue(xxx.getXXX());
    31. cell=rowData.createCell(1);
    32. cell.setCellStyle(cellStyle);
    33. cell.setCellValue(xxx.getXXX());
    34. ...
    35. }
    36. //如果是多数据源 导出 多个sheet
    37. //获得 第二个 sheet
    38. Sheet sheet2= workbook.getSheetAt(1);
    39. //此处写法不一样
    40. String fileName = URLEncoder.encode("表格名称", "utf-8");
    41. response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    42. response.setCharacterEncoding("utf-8");
    43. fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
    44. response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
    45. workbook.write(response.getOutputStream());
    46. //String fileName = URLEncoder.encode("表格名称.xlsx", "utf-8");
    47. //response.setHeader("content-type", "application/octet-stream;charset=utf-8");
    48. //response.setHeader("content-disposition", "attachment; ");
    49. //response.setHeader("filename",fileName);
    50. //workbook.write(response.getOutputStream());
    51. }

  • 相关阅读:
    SpringBoot异常处理
    常用docker命令
    YB6502 5V输入双节串联磷酸铁锂电池升压充电芯片
    图像降噪相关论文-从传统方法到深度学习
    赔腾讯70万,QQ“自动抢红包”软件被判不正当竞争
    Python手写语音识别文字
    应用开发类API推荐
    springboot基于web的摩托车销售系统的设计与实现毕业设计源码031706
    【机器学习】LSTM 讲解
    AI实战 | 由浅入深,手把手带你实现Java转型学习助手
  • 原文地址:https://blog.csdn.net/jah5201/article/details/134293881