• springboot整合jett导出数据(2)


    一 操作案例

    1.1 pom文件

    1. <dependency>
    2. <groupId>net.sf.jett</groupId>
    3. <artifactId>jett-core</artifactId>
    4. <version>0.11.0</version>
    5. </dependency>

    1.2 代码

    1. /**
    2. * @author liujianfu
    3. * @description 导出 环保指标查询日,月,年数据
    4. * @date 2022/12/1 16:39
    5. * @param [response]
    6. * @return void
    7. */
    8. @RequestMapping("/export")
    9. public void exportEnvCycleExcel(HttpServletResponse response) {
    10. Map<String, Object> resultMap = new HashMap<String, Object>();
    11. resultMap.put("titleName","环保指标报表");
    12. resultMap.put("reportDate", DateUtils.dateToStr(new Date(),"yyyy-MM-dd"));
    13. //List<Student> studentsList=new ArrayList<>();
    14. List<Map> studentsList=new ArrayList<>();
    15. for(int k=0;k<5;k++){
    16. Map<String,Object> map=new LinkedHashMap<>();
    17. map.put("id",k);
    18. map.put("name","李四"+k);
    19. map.put("age",(k+1)*2);
    20. studentsList.add(map);
    21. }
    22. resultMap.put("dataList",studentsList);
    23. buildExcelReport( resultMap, response);
    24. }
    25. /**
    26. * @author liujianfu
    27. * @description 封装excel
    28. * @date 2022/11/8 10:42
    29. * @param [resultMap]
    30. * @return void
    31. */
    32. public void buildExcelReport(Map<String, Object> resultMap, HttpServletResponse response){
    33. String modelFile="d:/model-test.xlsx";
    34. try (InputStream is = new FileInputStream(new File(modelFile));) {
    35. Workbook workbook = new ExcelTransformer().transform(is, resultMap);
    36. buildExcelDocument("环保_"+System.currentTimeMillis()+".xlsx", workbook, response);
    37. } catch (Exception e) {
    38. e.printStackTrace();
    39. }
    40. }
    41. /**
    42. * @author liujianfu
    43. * @description 数据流的输出
    44. * @date 2022/11/8 10:42
    45. * @param [filename, workbook, response]
    46. * @return void
    47. */
    48. protected static void buildExcelDocument(String filename, Workbook workbook, HttpServletResponse response)
    49. throws Exception {
    50. response.setHeader("Pragma", "no-cache");
    51. response.setHeader("Cache-Control", "no-cache");
    52. response.setContentType("application/vnd.ms-excel");
    53. response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "utf-8"));
    54. OutputStream outputStream = response.getOutputStream();
    55. workbook.write(outputStream);
    56. outputStream.flush();
    57. outputStream.close();
    58. }

    1.3 excel模板

    ${t.id}    ${t.name}   ${t.age}

     

    1.4 导出效果

     

  • 相关阅读:
    pip 离线到内网安装包
    汽车行驶性能的主观评价方法(2)-驾驶员的任务
    浅谈HTTP缓存与CDN缓存的那点事
    OpenCV实现人脸检测(Haar特征)
    Vue2简单使用及相关基础知识概念(适合小白入门,看完就能上手)
    【Rust 易学教程】第 1 天:Rust 基础,基本语法
    Topic 19. 临床预测模型之输出每个患者列线图得分 (nomogramFormula)
    输出操作符重载
    泛型+IO流基础知识+java->符号 lambda表达式
    半导体晶圆厂内外网数据单向导出,什么样的方案才安全又便捷?
  • 原文地址:https://blog.csdn.net/u011066470/article/details/128136323