当前位置:   article > 正文

java使用POI5.0生成简易Excel工作簿的一种方法_poi 5

poi 5

先贴一下poi相关jar包的链接

https://poi.apache.org/download.html#POI-5.0.0

官网地址

  1. <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
  2. <dependency>
  3. <groupId>org.apache.poi</groupId>
  4. <artifactId>poi</artifactId>
  5. <version>5.0.0</version>
  6. </dependency>

maven标签

  1. public static void WriteXlsx(String path, String sheetname, List<Map<String, Object>> list)
  2. throws FileNotFoundException, IOException {
  3. try (SXSSFWorkbook wb = new SXSSFWorkbook()) {
  4. // 定义工作表
  5. SXSSFSheet sheet = wb.createSheet(sheetname);
  6. // 定义行
  7. SXSSFRow row;
  8. // 定义列
  9. SXSSFCell cell;
  10. //创建标题行
  11. SXSSFRow titlerow = sheet.createRow(0);
  12. //读取Map的Key作为标题名称
  13. int t = 0;
  14. for (Entry<String, Object> entry : list.get(0).entrySet()) {
  15. cell = titlerow.createCell(t);
  16. cell.setCellValue(entry.getKey().toString());
  17. t=t+1;
  18. }
  19. //创建表格内容
  20. int i = 1;
  21. for (Map<String, Object> map : list) {
  22. // 创建行
  23. int j = 0;
  24. row = sheet.createRow(i);
  25. for (Entry<String, Object> entry : map.entrySet()) {
  26. // 创建列
  27. cell = row.createCell(j);
  28. if (entry.getValue() != null) {
  29. cell.setCellValue(entry.getValue().toString());
  30. } else {
  31. cell.setCellValue("");
  32. }
  33. j = j + 1;
  34. }
  35. i = i + 1;
  36. }
  37. // Save
  38. try (FileOutputStream fileOut = new FileOutputStream(path)) {
  39. LogUtil.info(path);
  40. wb.write(fileOut);
  41. }
  42. }
  43. }

代码片段,入参是要生成的文件路径工作表名称List<Map<String, Object>>形式的数据,这类数据往往适用于数据库的查询结果。执行结果会生成一个单sheet的没有样式的Excel工作簿。因为方法内资源都释放了,如果要生成多个sheet的工作簿,还需要修改,不能直接多次调用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/709488
推荐阅读
相关标签
  

闽ICP备14008679号