springboot业务功能实战(十四)poi导出并以流方式保存excel

举报
小鲍侃java 发表于 2021/09/11 22:15:10 2021/09/11
【摘要】 public class BarcodeExportlFlow implements IBarcodeExport { @Autowired BarcodeManageBatchSerivce barcodeManageBatchSerivce; @Override public OutputStream e...

  
  1. public class BarcodeExportlFlow implements IBarcodeExport {
  2. @Autowired
  3. BarcodeManageBatchSerivce barcodeManageBatchSerivce;
  4. @Override
  5. public OutputStream exportData() throws IOException {
  6. //查询批次码
  7. BarcodeBatchManageBo input = new BarcodeBatchManageBo();
  8. List<BarcodeBatchManageBo> middleList = barcodeManageBatchSerivce.selectBatch(input);
  9. String[] headers = {"id", "条码批次码", "激活状态", "有效状态", "导入人", "导入时间", "激活人", "激活时间", "作废人", "作废时间", "本批次条数"};
  10. HSSFWorkbook workbook = new HSSFWorkbook();
  11. HSSFSheet sheet = workbook.createSheet();
  12. //设置列宽
  13. sheet.setDefaultColumnWidth((short) 18);
  14. HSSFRow row = sheet.createRow(0);
  15. for (short i = 0; i < headers.length; i++) {
  16. //创建单元格,每行多少数据就创建多少个单元格
  17. HSSFCell cell = row.createCell(i);
  18. HSSFRichTextString text = new HSSFRichTextString(headers[i]);
  19. //给单元格设置内容
  20. cell.setCellValue(text);
  21. }
  22. for (int j = 0; j < middleList.size(); j++) {
  23. BarcodeBatchManageBo export = middleList.get(j);
  24. //从第二行开始填充数据
  25. row = sheet.createRow(j + 1);
  26. List<String> datas = new ArrayList<>();
  27. String id = export.getId().toString();
  28. String batchCode = export.getBatchCode();
  29. String activationStatus = export.getActivationStatus();
  30. String effectiveStatus = export.getEffectiveStatus();
  31. datas.add(id);
  32. datas.add(batchCode);
  33. datas.add(activationStatus);
  34. datas.add(effectiveStatus);
  35. for (int k = 0; k < datas.size(); k++) {
  36. String string = datas.get(k);
  37. HSSFCell cell = row.createCell(k);
  38. HSSFRichTextString richString = new HSSFRichTextString(string);
  39. HSSFFont font3 = workbook.createFont();
  40. //定义Excel数据颜色,这里设置为蓝色
  41. font3.setColor(HSSFColor.BLUE.index);
  42. richString.applyFont(font3);
  43. cell.setCellValue(richString);
  44. }
  45. }
  46. FileOutputStream fos = new FileOutputStream("D:/wb.xls");
  47. workbook.write(fos);
  48. fos.close();
  49. return null;
  50. }
  51. }

文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。

原文链接:baocl.blog.csdn.net/article/details/83541421

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。