poi操作word模板,对原有的word修改

   /**
     * 化工园区调查表
     *
     * @param templatePath
     * @param outPath
     * @param parkInterview
     */
    public static String  getDocx(String templatePath, String outPath, ParkInterview parkInterview){
        File file = new File(templatePath);
        File file1 = new File(outPath);
        if(!file1.exists()) file1.mkdirs();
        String outPath1=file1.getPath()+File.separator+parkInterview.getSpotCountNumber()+"_"+"化工园区信息调查表.docx";
        String outPath2=file1.getPath()+File.separator+parkInterview.getSpotCountNumber()+"_"+"化工园区信息调查表.pdf";
        InputStream in = null;
        try {
            in = new FileInputStream(file);
            XWPFDocument document = new XWPFDocument(in);
            List<XWPFTable> tables = document.getTables();
            List<XWPFTableRow> rows = tables.get(0).getRows();
            int line=1;
            XWPFTableCell cell = rows.get(line).getTableCells().get(1);
            cell.setText(parkInterview.getName());//化工园区名称
            cell = rows.get(++line).getTableCells().get(1);
            cell.setText(parkInterview.getDate());//访谈日期
            cell = rows.get(++line).getTableCells().get(1);
            cell.setText(parkInterview.getInterviewerName());//访谈人员姓名
            cell = rows.get(line).getTableCells().get(3);
            cell.setText(parkInterview.getInterviewerMobile());//访谈人员电话
            cell=rows.get(++line).getTableCells().get(1);
            cell.setText(parkInterview.getInterviewerOrganization());//访谈人员单位
            cell=rows.get(++line).getTableCells().get(1);
            cell.setText(parkInterview.getIntervieweeName());//受访人姓名
            cell=rows.get(++line).getTableCells().get(1);
            cell.setText(parkInterview.getIsEvaluation());//是否开展过场地环境调查评估工作
            cell=rows.get(++line).getTableCells().get(1);
            cell.setText(parkInterview.getOtherProblem());//其他土壤或地下水污染相关疑问
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            OutputStream out = Files.newOutputStream(Paths.get(outPath1));
            document.write(bos);
            out.write(bos.toByteArray());
            out.close();
            bos.close();
            in.close();
            File file2 = new File(outPath1);
            ZipSecureFile.setMinInflateRatio(0.0000001);
            FileInputStream inputStream = new FileInputStream(file2);
            XWPFDocument document2 = new XWPFDocument(inputStream);
            for (XWPFTableRow row : document2.getTables().get(0).getRows()) {
                for (XWPFTableCell tableCell : row.getTableCells()) {
                    for (XWPFParagraph paragraph : tableCell.getParagraphs()) {
                        for (XWPFRun run : paragraph.getRuns()) {
                            run.setFontSize(11);
                        }
                    }
                }
            }
            ByteArrayOutputStream bos1 = new ByteArrayOutputStream();
            OutputStream out1 = new FileOutputStream(outPath1);
            document2.write(bos1);
            out1.write(bos1.toByteArray());
            out1.close();

        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        return outPath;
    }

效果图:
原表
在这里插入图片描述
poi操作之后:
在这里插入图片描述

注意

  • 调整字体大小需要先生成一份word,再重新读word进行修改
  • poi也可以不使用模板,一行一行读
  • word转pdf不好转,尝试了格式变动了
  • 引入的依赖
    implementation("org.apache.poi:poi:4.0.1")
    implementation("org.apache.poi:poi-ooxml:4.0.1")

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024 年 电工杯(B题)大学生数学建模挑战赛 | 平衡膳食食谱 | 数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时&#xff0c;你是否曾经感到茫然无措&#xff1f;作为2022年美国大学生数学建模比赛的O奖得主&#xff0c;我为大家提供了一套优秀的解题思路&#xff0c;让你轻松应对各种难题。 CS团队倾注了大量时间和心血&#xff0c;深入挖掘解决方案。通…

怎么查看公网IP?

在网络通信中&#xff0c;每个设备都会被分配一个IP地址&#xff0c;用于在互联网上进行唯一标识和通信。公网IP是指可以被公开访问的IP地址&#xff0c;可以用来建立远程连接或者进行网络访问等操作。怎么查看公网IP呢&#xff1f;下面将介绍几种常用的方法。 使用命令行查询公…

《中国企业报》集团数字产业发展研究院介绍

《中国企业报》集团数字产业发展研究院&#xff08;以下简称“中企数研院”&#xff09;&#xff0c;隶属于《中国企业报》集团管理。“中企数研院”致力于“数字经济产业化发展战略”大背景下&#xff0c;以“县域数字经济”、“企业数字化转型”及“数字人民币”推广等发展方…

图像超分辨率重建相关概念、评价指标、数据集、模型

1、图像超分辨率概念 1.1 基本定义 超分辨率&#xff08;Super-Resolution&#xff09;&#xff0c;简称超分&#xff08;SR&#xff09;。是指利用光学及其相关光学知识&#xff0c;根据已知图像信息恢复图像细节和其他数据信息的过程&#xff0c;简单来说就是增大图像的分辨…

springboot 配置动态调整profiles-active参数

配置动态调整active参数&#xff1a; 1.bootstrap.yml中&#xff1a; spring:profiles:active: spring.profiles.active #占位符 替换 2.pom.xml中配置&#xff1a; <build><resources><resource><directory>src/main/resources</directory>&…

牛马真的沉默了,入职第一天就干活

入职第一天就干活的&#xff0c;就问还有谁&#xff0c;搬来一台N手电脑&#xff0c;第一分钟开机&#xff0c;第二分钟派活&#xff0c;第三分钟干活&#xff0c;巴适。。。。。。 打开代码发现问题不断 读取配置文件居然读取两个配置文件&#xff0c;一个读一点&#xff0c;…

MySQL的主从复制(主从数据库都是Linux版本)

概述 1.什么是主从复制 主从复制是指将主库的 DDL 和 DML 操作通过二进制日志传到从库服务器中&#xff0c;然后在从库上对这些日志重新执行&#xff08;也叫重做&#xff09;&#xff0c;从而使得从库和主库的数据保持一致。 2.主从复制作用 数据备份&#xff1a;通过主从复…

Nuxt3 项目使用 Tailwind CSS(安装、配置、插件)

目录 构建 # 安装 tailwindcss # nuxt.config配置 # 版本 使用 # 编写 # 效果 类名联想 # 预期效果图 # vscode 安装插件 # 激活拓展 # 达到预期效果 类名排序 # 预期效果图 # 安装Prettier # prettier配置 # 达到预期效果 非标准属性排序 # 自定义类名接收…

Linux安装Docker教程(实测可用)

前言 Docker是一个开源的应用容器引擎&#xff0c;它允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的Linux机器上。以下是对Docker的具体介绍&#xff1a; 技术起源&#xff1a;容器技术起源于程序员对于环境搭建与应用部署效…

趣味科普:智慧采煤可视化

智慧采煤可视化系统通过趣味动画展示智能采矿技术&#xff0c;包括设备运作、矿井安全和环境保护等。

应急救援前突通信保障车技术详解

一、引言 随着现代社会的高速发展&#xff0c;各种自然灾害和突发事件频发&#xff0c;对人们的生命财产安全构成了严重威胁。应急救援前突通信保障车作为一种快速响应、高效部署的通信保障装备&#xff0c;在应急救援领域发挥着越来越重要的作用。本文将从当前形势的紧迫性、…

网络安全的重要组成部分:数据库审计

数据库审计&#xff08;简称DBAudit&#xff09;以安全事件为中心&#xff0c;以全面审计和精确审计为基础&#xff0c;实时记录网络上的数据库活动&#xff0c;对数据库操作进行细粒度审计的合规性管理&#xff0c;对数据库遭受到的风险行为进行实时告警。它通过对用户访问数据…

Centos 7 上安装【Docker】

安装Docker&#xff08;Centos 7&#xff09; 1.1.卸载&#xff08;可选&#xff09; 如果之前安装过旧版本的Docker&#xff0c;可以使用下面命令卸载&#xff1a; ***注意&#xff1a;***若提示[您需要 root 权限 执行此命令]需要在命令前加上sudo yum remove docker \do…

09.自注意力机制

文章目录 输入输出运行如何运行解决关联性attention score额外的Q K V Multi-head self-attentionPositional EncodingTruncated Self-attention影像处理vs CNNvs RNN图上的应用 输入 输出 运行 链接&#xff08;Attention Is All You Need&#xff09; 如何运行 解决关联性 a…

Vue基础(1)数据绑定

一. 文本插值 普通文本可以使用双大括号 {{ }} &#xff0c;要想插入 HTML&#xff0c;需要使用 v-html 指令。 <template><h1>Message: {{ state.msg }}</h1><p>{{ state.count 1 }}</p><p>{{ state.rawHtml }}</p><p v-html…

Java编程语言,使用自定义二元组对象替代map集合实现Key-Value格式的数据存储

一、背景 url请求地址&#xff0c;后面使用&把多个请求参数拼接起来&#xff0c;例如&#xff1a;?p1v1&p2v2&p3v3 它们的key分别是p1/p2/p3&#xff0c;对应的value分别是v1/v2/v3。 也许很多人都会通过map集合来存储&#xff0c;算比较通用的做法了&#xff1…

Windows:iHasher-v0.2安装报错Windows 功能 .NET Framework 3.5

一、情景描述 我们从MSDN下载了镜像文件&#xff0c;一般要验证下载文件的HASH值是否与MSDN上发布的一致&#xff0c;确保传出过程中iso文件没有损坏。 MSDN地址&#xff1a;https://msdn.itellyou.cn/ 我从MSDN下载了Hasher工具&#xff0c;进行校验。 但是&#xff0c;安装…

有道:一季度业绩超市场预期,生成式AI商业化落地进程加快

5月23日&#xff0c;教育科技公司网易有道&#xff08;NYSE&#xff1a;DAO&#xff09;公布了2024年第一季度未经审计的财务报告。报告期内&#xff0c;受益于“AI”加“教育”双轮驱动&#xff0c;业绩表现超市场预期&#xff0c;业务健康度大幅改善。 财报显示&#xff0c;…

筛斗数据提取:如何保证数据精准提取与合规性并存

数据治理的艺术&#xff1a;精准提取与合规性并存 在当今信息化高速发展的时代&#xff0c;数据已成为企业最宝贵的资源之一。然而&#xff0c;如何有效管理和利用这些数据&#xff0c;确保数据的精准提取和合规性并存&#xff0c;已成为企业面临的重要挑战。本文将从数据治理…