springboot整合jett导出数据(2)

news2024/11/26 0:56:31

一 操作案例

1.1 pom文件

        <dependency>
            <groupId>net.sf.jett</groupId>
            <artifactId>jett-core</artifactId>
            <version>0.11.0</version>
        </dependency>

1.2 代码

 /**
   * @author liujianfu
   * @description       导出 环保指标查询日,月,年数据
   * @date 2022/12/1 16:39
   * @param [response]
   * @return void
   */
    @RequestMapping("/export")
    public void  exportEnvCycleExcel(HttpServletResponse response) {
        Map<String, Object> resultMap = new HashMap<String, Object>();
        resultMap.put("titleName","环保指标报表");
        resultMap.put("reportDate", DateUtils.dateToStr(new Date(),"yyyy-MM-dd"));
        //List<Student> studentsList=new ArrayList<>();
          List<Map> studentsList=new ArrayList<>();
        for(int k=0;k<5;k++){
            Map<String,Object> map=new LinkedHashMap<>();
            map.put("id",k);
            map.put("name","李四"+k);
            map.put("age",(k+1)*2);
            studentsList.add(map);
        }
        resultMap.put("dataList",studentsList);
        buildExcelReport( resultMap, response);
    }



    /**
     * @author liujianfu
     * @description       封装excel
     * @date 2022/11/8 10:42
     * @param [resultMap]
     * @return void
     */
    public void  buildExcelReport(Map<String, Object> resultMap, HttpServletResponse response){
        String modelFile="d:/model-test.xlsx";
        try (InputStream is = new FileInputStream(new File(modelFile));) {
            Workbook workbook = new ExcelTransformer().transform(is, resultMap);
           buildExcelDocument("环保_"+System.currentTimeMillis()+".xlsx", workbook, response);


        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * @author liujianfu
     * @description       数据流的输出
     * @date 2022/11/8 10:42
     * @param [filename, workbook, response]
     * @return void
     */
    protected static void buildExcelDocument(String filename, Workbook workbook, HttpServletResponse response)
            throws Exception {
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Cache-Control", "no-cache");
        response.setContentType("application/vnd.ms-excel");
        response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "utf-8"));
        OutputStream outputStream = response.getOutputStream();
        workbook.write(outputStream);
        outputStream.flush();
        outputStream.close();
    }

1.3 excel模板

<jt:forEach items="${dataList}" var="t"> ${t.id}    ${t.name}   ${t.age}</jt:forEach>

 

1.4 导出效果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/52196.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于java+springmvc+mybatis+vue+mysql的婚纱影楼

项目介绍 婚姻是每个人人生中都非常重要的一个组成部分&#xff0c;它是一个新家庭的开始也是爱情的见证&#xff0c;所以很多人在结婚之前都会拍一套美美的婚纱照来纪念这一美好的时刻&#xff0c;但是很多时候人们在拍婚纱照的时候都是到当地的影楼去拍摄&#xff0c;这种影…

React基础

文章目录1.简介1.1 react与vue1.1.1 相同点1.1.2 不同点1.1.3 函数式组件的特点&#xff08;什么是函数式组件&#xff09;a.幂等b.无副作用用&#xff1a;1.1.4 虚拟dom的作用1.1.5 vue当中template与render的关系&#xff1a;1.2 MVC、MVVM、MVP模式1.2.1 MVC1.2.2 MVVM1.2.3…

速锐得解码特斯拉Model Y整车网关电路及CAN通信协议DBC控制策略

研究和解码特斯拉Model Y的整车控制中心的控制策略&#xff0c;比研究一般宝马、奔驰、奥迪的CAN总线数据更有乐趣&#xff0c;速锐得近期解码了特斯拉Model Y整车网关电路&#xff0c;分析出特斯拉Model Y网关电路图及CAN矩阵并编译了特斯拉Model Y通信协议DBC文件。 研究特斯…

SOLIDWORKS 3D CAD 2023基础解决方案 新功能Top 10

SOLIDWORKS 3D CAD 2023新版本即将于大家见面&#xff0c;而SOLIDWORKS 3D CAD是SOLIDWORKS整体解决方案的基础功能&#xff0c;微辰三维为您总结了SOLIDWORKS 3D CAD 2023增强功能的Top 10&#xff0c;一起来看看吧&#xff01; 1、电力布线 轻松创建含多个电路的接头&#xf…

天宇优配|上架秒光 “3时代”的大额存单受宠

“最近理财产品动摇比较大&#xff0c;准备处理一笔大额存单&#xff0c;但查询发现&#xff0c;某国有行暂时没有可购买的大额存单产品。”11月29日&#xff0c;成都市民王女士向金融出资报记者表示。 记者发现&#xff0c;虽然通过数次下调&#xff0c;中长期大额存单利率已步…

储能电源/移动电源专用升降压DC-DC方案PL9405

PL9405是一个双向同步4开关Buck-Boost变换器能够调节输出电压高于或低于输入电压。PL9405在较宽的输入电压范围内工作3.6 V至32v(最大36v)支持多种应用程序。集成两个9mΩ功率mosfet。PL9405可在1、2、3、4、5的充电模式下工作6电池充电。PL9405采用恒定ON时间控制buck&#xf…

利用phpspreadsheet导出Excel图表(折线图、饼状图、柱状图)

利用phpspreadsheet导出Excel图表安装 phpoffice/phpspreadsheet折线图需要使用的包实例代码效果图![实例图](https://img-blog.csdnimg.cn/39e32f13c52b4b40946562fdc55dc5b6.png)饼状图需要使用的包实例代码效果图柱状图需要使用的包实例代码效果图安装 phpoffice/phpspreads…

Day16-购物车页面-商品列表-渲染商品列表区域的结构

提纲挈领&#xff1a; 我的操作&#xff1a; 1》定义如下的 UI 结构&#xff1a; 2》美化样式 ***************************** ***************************** ***************************** ********************* 2.渲染商品列表区域的基本结构 我的操作&#xff1a; 1》…

网页添加灰色滤镜

网页添加灰色滤镜 b站的灰色滤镜 我校的灰色滤镜 CSDN的灰色滤镜 自己调制css主题,给网页加上滤镜. 更快捷的,可以在可以调制css的浏览器插件中加上滤镜,只要开启插件就会自动修改网站滤镜 以darkreader为例打开其开发者工具 *INVERT .jfk-bubble.gtx-bubble .captcheck_a…

推荐系统-召回-概述(三):向量化

只要对机器学习稍有涉猎&#xff0c;就会发现如今机器学习&#xff0c;无论是推荐、图像、语言等领域&#xff0c;随处可见embedding&#xff0c;可以说&#xff0c;在深度学习主宰机器学习领域的今天&#xff0c;万物皆可embedding。那么&#xff0c;什么是embedding&#xff…

SpringCloud-alibaba-Sentinel入门到精通

膜拜大神的全集&#xff1a; sentinel &#xff08;史上最全&#xff09;_40岁资深老架构师尼恩的博客-CSDN博客_sentinel 1、什么是Sentinel: Sentinel是阿里开源的项目&#xff0c;提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。 官网&#x…

智能聊天机器人如何帮助独立站运营提高工作效率?

关键词&#xff1a;智能聊天机器人、独立站运营 独立站运营变得越来越受欢迎&#xff0c;独立站可以用来建立在线商店并推动您的电子商务业务取得成功。它具有大量以业务为中心的功能&#xff0c;也许这就是为什么许多公司相信它会发展其在线业务的轨迹。 添加聊天机器人可以进…

使用PyQt5界面设计

一、环境搭建 直接pip安装即可&#xff1a; pip install PyQt5 pip install pyqt5-tools 二、Qt Designer设计GUI Qt Designer 是通过拖拽的方式放置控件&#xff0c;并实时查看控件效果进行快速UI设计。最终生成.ui文件&#xff0c;可以通过pyuic5工具转换成.py文件。 打开d…

基于springboot的应用诊断工具,yyds

真正的大师,永远都怀着一颗学徒的心&#xff01; 一、项目简介 基于springboot的应用诊断工具&#xff0c;可以迅速定位出来线上运行项目的问题。 二、实现功能 支持服务器管理 支持权限管理 支持系统诊断 支持代码在线编辑部署 支持各种方法的监控 支持线程的管理 三、…

【自然语言处理(NLP)】基于Word2Vec的语言模型实践

【自然语言处理&#xff08;NLP&#xff09;】基于Word2Vec的语言模型实践 作者简介&#xff1a;在校大学生一枚&#xff0c;华为云享专家&#xff0c;阿里云专家博主&#xff0c;腾云先锋&#xff08;TDP&#xff09;成员&#xff0c;云曦智划项目总负责人&#xff0c;全国高等…

jenkins学习-安装配置

1.下载安装 打开地址jenkins.io,进入页面&#xff0c;点击download按钮&#xff0c;计入下载页面&#xff0c;选择war架包下载 2.下载地址2&#xff1a;https://get.jenkins.io/war/ 下载版本&#xff1a;2.346.3 3控制台切换到架包路径&#xff0c;执行&#xff1a;Java -…

Java学习之super关键字

目录 一、super的作用 二、基本语法 第一条 第二条 第三条 三、super便利/细节 第一条 第二条 第一种&#xff1a;直接调用 第二种&#xff1a;this 第三种&#xff1a;super 第三条 四、this和super的比较 一、super的作用 super 代表父类的引用&#xff0c; 用于访…

Vue3表单输入绑定生命周期

官网&#xff1a;https://cn.vuejs.org/guide/essentials/forms.html#checkbox 复选框 在这个例子中&#xff0c;checkedNames 数组将始终包含所有当前被选中的框的值。 const checkedNames ref([])<div>Checked names: {{ checkedNames }}</div><input type…

docker镜像打包上传阿里云镜像仓库

阿里云镜像仓库说明&#xff1a; 将镜像推送到Registry $ docker login --usernamealiyun0398513152 rz-dt-image-server-registry.cn-shanghai.cr.aliyuncs.com $ docker tag [ImageId] rz-dt-image-server-registry.cn-shanghai.cr.aliyuncs.com/rz-dt/k8s-springboot-demo:[…