easyexcel poi根据模板导出Excel

news2024/12/23 16:02:48

1.导入依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.0.1</version>
</dependency>

2.代码实现

package com.jiayou.peis.manage.biz.cotroller;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
import org.apache.commons.io.IOUtils;
import org.springframework.core.io.ClassPathResource;

import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

public class Test {

    public static void main(String[] args) {
        export();
    }

    private static void export() {
        ExcelWriter excelWriter = null;
        InputStream templateInputStream = null;

        Map<String, Object> map = new HashMap<>();
        map.put("name", "张三");
        map.put("sex", "男");
        map.put("age", "20");
        try {
            //获取项目resources/template目录下模板的数据流
            templateInputStream = new ClassPathResource("template/data_template.xlsx").getInputStream();
            if (templateInputStream.available() == 0) {
                log.error("获取模板失败");
            }
            //设置文件名,filePath导出路径: D盘目录
            String fileName = "测试报告" + System.currentTimeMillis() + ".xlsx";
            String path = "D:\\";
            String filePath = path + fileName;
            //ExcelWriter通过POI将值写入Excel
            excelWriter = EasyExcel.write(filePath).withTemplate(templateInputStream).build();
            // sheet-概览
            WriteSheet firstSheet = EasyExcel.writerSheet(0).build();
            //用数据去填充模板 取对应的值显示在模板对应的位置
            excelWriter.fill(map, firstSheet);
        } catch (IOException e) {
            log.error("获取模板:examreport 失败。");
            e.printStackTrace();
        } finally {
            //最后记得关闭流
            excelWriter.finish();
            IOUtils.closeQuietly(templateInputStream);
        }
    }
}

3.模板

在这里插入图片描述

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

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

相关文章

vue2中使用全屏screenfull插件遇到的问题

1、安装screenfull6.0.2后&#xff0c;启动项目。报错 解决方案&#xff1a; 第一种&#xff1a;卸载6.0的版本&#xff0c;安装 screenfull5.1.0 第二种&#xff1a; vue.config.js文件中配置属性 第三种&#xff1a; 安装插件babel/plugin-proposal-nullish-coalescing-o…

c语言练习题40:深入理解字符串常量

深入理解字符串常量 #include<stdio.h> int main() {char str1[] "abcd";char* str2 "abcd";printf("%s\n", str1);printf("%s\n", str2);return 0; } char str1[] "abcd";是用字符串初始化数组。 char* str2 &…

AMBEO 双声道空间音频现已迈进直播制作领域

图片来源&#xff1a;Unsplash&#xff0c;作者&#xff1a;Bence Balla-Schottner AMBEO 双声道空间音频现已迈进直播制作领域 为所有观众解锁更加身临其境的听觉体验 森海塞尔将功能强大的 AMBEO 双声道空间音频技术引入了广播电视直播应用领域&#xff0c;对所有体育赛事广…

ssm实验室开放管理系统源码和论文

ssm实验室开放管理系统源码和论文096 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归…

海外ASO优化之如何分析我们的应用

分析我们的应用在商店中的可见度的当前状况&#xff0c;我们当前使用的关键词是否带来了任何转化&#xff1f;我们在每个关键词查询的搜索结果中排名如何&#xff1f;我们的类别排名如何&#xff1f; 1、将相关的添加到我们的跟踪列表中。 观察每个项目的变化和排名。接下来转…

拧紧燃气“安全阀”!汉威科技为城市生命线构筑安全监控网

防患于未“燃”&#xff0c;拧紧燃气“安全阀”&#xff0c;这是关乎亿万国人生命财产安全的大事&#xff0c;也一直是党和国家重点发力的民生工程。8月11日&#xff0c;国务院安委会正式印发《全国城镇燃气安全专项整治工作方案》&#xff0c;也让液化石油气全链条的安全问题成…

c# 本地化中英文切换

区域 线程默认区域为当前计算机所选区域 设置当前区域&#xff1a; Thread.CurrentThread.CurrentCulture new CultureInfo(“zh-cn”); 获取当前区域&#xff1a; Console.WriteLine(Thread.CurrentThread.CurrentCulture.ToString()); 区域名称&#xff1a; “zh-cn” 中文…

数据驱动的生活:探索未来七天生活指数API的应用

前言 随着科技的不断发展&#xff0c;数据已经成为我们生活中不可或缺的一部分。从社交媒体上的点赞和分享&#xff0c;到电子邮件和搜索引擎的历史记录&#xff0c;数据正在以前所未有的速度积累。而这些数据的利用不仅仅停留在社交媒体或商业领域&#xff0c;它们还可以为我…

高通开发系列 - 5G网络之QTI守护进程服务介绍

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 返回:专栏总目录 目录 代码位置和依赖关系功能介绍代码逻辑讲解外设节点关注的目录socket服务端初始化DPM客户端监听守护关键的数据结构体…

哈希表哈希桶

目录 哈希概念 哈希冲突 哈希函数 一、直接定址法&#xff08;常用&#xff09; 二、除留余数法&#xff08;常用&#xff09; 三、平方取中法 四、折叠法 五、随机数法 六、数字分析法 哈希冲突解决 开散列—— 链地址法&#xff08;拉链法、哈希桶&#xff09; 闭…

什么是专利?如何申请专利?

专利&#xff08;patent)从字面上讲&#xff0c;“专利”即是指专有的利益和权利。专利一词来源于拉丁语Litterae patentes&#xff0c;意为公开的信件或公共文献&#xff0c;是中世纪的君主用来颁布某种特权的证明&#xff0c;后来指英国国王亲自签署的独占权利证书。专利是世…

PhpStorm安装篇

PhpStorm安装篇: 下载地址 : 进入官网下PhpStorm: PHP IDE and Code Editor from JetBrains 下载完之后&#xff0c;安装包 安装目录建议不要放C盘&#xff0c;放其他盘&#xff0c;其他直接一直点 next &#xff0c;到结束 安装完&#xff0c;打开编辑器 注册账号并登录后…

《Flink学习笔记》——第十章 容错机制

10.1 检查点&#xff08;Checkpoint&#xff09; 为了故障恢复&#xff0c;我们需要把之前某个时间点的所有状态保存下来&#xff0c;这份“存档”就是“检查点” 遇到故障重启的时候&#xff0c;我们可以从检查点中“读档”&#xff0c;恢复出之前的状态&#xff0c;这样就可以…

实例047 如何为MDI类型窗体设置背景图片

实例说明 MDI窗体是一种应用非常广泛的窗体类型&#xff0c;在一个主窗体内包含多个子窗体&#xff0c;子窗体永远不会显示在主窗体的外面。当子窗体不能完全的显示在主窗体中时&#xff0c;主窗体会显示滚动条来调整可视范围&#xff0c;在其他开发环境中为MDI窗体添加背景图…

Nature commun |晚期胰腺导管腺癌中自发进化的祖细胞niches逃避Yap癌基因成瘾

“致癌基因成瘾”用于描述癌细胞通常表现出对一种或多种致癌驱动因素的严格依赖性以维持肿瘤生长和进展的现象。几乎所有肿瘤在药物缓解后都会出现最终的肿瘤复发。那么&#xff0c;在晚期胰腺导管腺癌(PDAC)中结合RNA-seq和Cut&Tag技术对肿瘤自发复发研究有什么样的影响呢…

趣解建造者模式之网红小王购车记

一、前言 本文章是关于设计模式中的建造者模式的&#xff0c;也称构建者模式/生成器模式&#xff0c;英文我们称之为Builder Pattern。在开展讲解之前&#xff0c;我们先把该模式的定义了解一下。 建造者模式的定义&#xff1a; 该模式可以实现产品的封装构造过程&#xff0c…

《2023 中国人工智能人才学习白皮书》完整下载!

Datawhale发布 2023 中国人工智能人才学习白皮书 I 导读 日前&#xff0c;由 Datawhale 联合上海白玉兰开源开放研究院、和鲸科技、江南大学教育信息化研究中心编写的《2023中国人工智能人才学习白皮书》&#xff08;下简称“白皮书”&#xff09;于8月24日正式发布。 学界大咖…

数字化转型的关键点是什么?

数字化转型的关键点是指企业或组织在适应并利用数字技术的过程中需要关注和把握的关键要素。以下是数字化转型的关键点&#xff1a; 领导力和战略&#xff1a;数字化转型需要高层领导层的支持和积极参与。领导层需要制定明确的数字化战略&#xff0c;并将其与企业的整体战略相结…

AI大模型的使用-语义检索,利用Embedding优化你的搜索功能

Embedding 向量适合作为一个中间结果&#xff0c;用于传统的机器学习场景&#xff0c;比如分类、聚类。 Completion 接口&#xff0c;一方面可以直接拿来作为一个聊天机器人&#xff0c;另一方面&#xff0c;你只要善用提示词&#xff0c;就能完成合理的文案撰写、文本摘要、机…

深度解析 PostgreSQL Protocol v3.0(一)

引言 PostgreSQL 使用基于消息的协议在前端&#xff08;也可以称为客户端&#xff09;和后端&#xff08;也可以称为服务器&#xff09;之间进行通信。该协议通过 TCP/IP 和 Unix 域套接字支持。 《深度解析 PostgreSQL Protocol v3.0》系列技术贴&#xff0c;将带大家深度了…