首页 > 其他分享 >Poi-tl word模版导出

Poi-tl word模版导出

时间:2024-07-30 16:53:29浏览次数:7  
标签:word Poi tl template poi apache org out

pom文件

<dependency>
            <groupId>com.deepoove</groupId>
            <artifactId>poi-tl</artifactId>
            <version>1.10.6</version>
            <exclusions>
                <exclusion>
                    <artifactId>xml-apis</artifactId>
                    <groupId>xml-apis</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>4.1.2</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.3.4</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi-ooxml</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi-ooxml-schemas</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

使用时需要注意排除jar冲突,否则会报错,目前使用的都是4.1.2版本的

模板放在resource下的template目录下

模版内容,填充的参数放在 {{}} 中,参考链接 http://deepoove.com/poi-tl/

 

 部分代码实现,返回流提供前端下载

@Override
    public void wordExport(HttpServletResponse response, SewageSafeContinueImprove sewageSafeContinueImprove) throws IOException {
        response.setContentType("application/octet-stream");
        response.setHeader("Content-disposition","attachment;filename=\""+"out_template.docx"+"\"");
        String safeContinueImproveId = sewageSafeContinueImprove.getSafeContinueImproveId();
        SewageSafeContinueImprove continueImprove = this.getById(safeContinueImproveId);
        Map<String, Object> beanToMap = BeanUtil.beanToMap(continueImprove);
        beanToMap.put("date", DateUtil.format(new Date(),"yyyy年MM月dd日"));
        ClassPathResource res = new ClassPathResource("template/safe.docx");
        InputStream is = res.getInputStream();
        XWPFTemplate template = XWPFTemplate.compile(is).render(beanToMap);
        // template.writeToFile("D:\\桌面\\sssssssssssss.docx");

        OutputStream out = response.getOutputStream();
        BufferedOutputStream bos = new BufferedOutputStream(out);
        template.write(bos);
        bos.flush();
        out.flush();
        //关闭流
        PoitlIOUtils.closeQuietlyMulti(template, bos, out);
    }

  


标签:word,Poi,tl,template,poi,apache,org,out
From: https://www.cnblogs.com/SeaWxx/p/18332839

相关文章

  • [POI2008] POC-Trains 题解
    前言题目链接:洛谷。时间复杂度和输入同阶的做法。题意简述有\(n\)(\(n\leq10^3\))个长\(m\)的字符串,\(q\)(\(q\leq10^5\))次操作,交换两个字符串的两个字符。问每个字符串在所有时刻,最多有几个和它相等。题目分析套路做法看到字符串相等,想到使用哈希。但是要支持修改,怎么......
  • Python 环境配置(二)安装jupyter、matplotlib、numpy库
    Python环境配置(二)安装jupyter、matplotlib、numpy库一、numpypipinstallnumpy二、matplotlibpipinstallmatplotlib三、jupyter1、anaconda自带Jupyter2、pycharm插件只有Pycharm的Professional版才支持JupyterNotebook,请注意版本3、新建文件#%......
  • Win11关闭BitLocker加密操作方法
    在Win11电脑操作中,许多新手用户不知道要如何操作才能成功关闭BitLocker加密?这时候就打开Win11系统命令提示符窗口,然后输入命令执行即可,也可以点击进入系统的控制面板,找到BitLocker驱动器加密选项,在这里进行关闭操作。以下就是Win11BitLocker加密关闭操作方法的详细介绍。Win......
  • 分享一个MySQL数据库表结构导出word文档最方便的方法
    原文链接:https://blog.csdn.net/typ1805/article/details/836587081、使用的是MySQL-Front工具,这个工具使用非常方便,尤其是导出数据的时候,几百万的数据一两分钟就导完了,推荐使用。MySQL-Front下载(只有3.93M):https://mysql-front.en.softonic.com/注:新版本和老版本的区别比较大,有......
  • 当我尝试在 flink 集群上运行 Beam Pipeline 时,为什么会出现 ERROR:root:java.lang.Nu
    我正在尝试在本地托管的Flink集群上运行一个简单的Beam管道,但在执行此操作时遇到错误。我已经尝试了在互联网上可以找到的所有内容。importapache_beamasbeamfromapache_beam.ioimportReadFromTextfromapache_beam.ioimportWriteToTextfromapache_beam.option......
  • 协议-TLS协议-客户端TLS解密的实现原理
    参考来源:练习实践-TLS协议01-Wireshark对https数据的解密练习实践-TLS协议01-客户端curl配合sslkey文件实现解密极客时间:网络排查案例课-实战二:应用层真实案例揭秘篇-20丨TLS加解密:如何解密HTTPS流量?客户端如何做TLS解密?这里说的客户端,包括了Chrome、Firefox等浏览......
  • ETL数据集成丨将DB2数据同步至Postgres数仓实践
    随着企业数字化转型的加速,数据已成为企业的重要资产。为了更好地挖掘数据价值,企业纷纷建立自己的数据仓库,以便于数据分析和决策。在众多数据库中,DB2和Postgres作为两款备受欢迎的数据库,如何实现它们之间的数据同步,成为了企业关注的焦点。本文将为您介绍如何使用ETLCloud将DB2数据......
  • MATLAB: 使用Delaunay三角剖分构建点云网格
    在计算机图形学和计算几何学中,Delaunay三角剖分a是一种常用的方法,用于将点云数据转换为三角形网格,MATLAB提供了内置函数来执行Delaunay三角剖分,并生成适用于点云可视化和分析的三角网格,本文将介绍如何使用MATLAB进行点云的Delaunay三角剖分,并提供相应的源代码。步骤一:导入点云......
  • Open3D Poisson曲面重构点云
    Poisson曲面重构是一种常用的方法,用于从离散的点云数据中生成光滑的曲面模型,本文中将介绍如何使用Open3D库中的Poisson曲面重构算法来重构点云数据,并提供相应的源代码示例。安装Open3D库,可以通过以下命令使用pip安装QOpen3D:pipinstallopen3d安装完成后导入Open3D库并加载......
  • 基于STC8H4K64TL单片机的RTC(即实时时钟)功能调试
    基于STC8H4K64TL单片机的RTC(即实时时钟)功能调试STC8H4K64TL单片机介绍STC8H4K64TL单片机管脚图(48个引脚)STC8H4K64TL单片机串口仿真与串口通信STC8H4K64TL单片机管脚图(32个引脚)STC8H4K64TL单片机管脚图(20个引脚)STC8H系列单片机管脚说明STC8H系列单片机I/O口STC8H......