poi 导出word工具类,支持模板内容换行

2023-11-11

package com.sinosoft.sinoep.modules.taskOrder.common;

import org.apache.poi.xwpf.usermodel.*;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @Description:
 * @Auther: leijq
 * @Date: 2020-03-25 14:59
 * @Version: V1.0
 */
public class ExportWordUtil {
   
    private ExportWordUtil() {
   
    }

    /**
     * 替换文档中段落文本
     *
     * @param document docx解析对象
     * @param textMap  需要替换的信息集合
     */
    public static void changeParagraphText(XWPFDocument document, Map<String, String> textMap) {
   
        //获取段落集合
        List<XWPFParagraph> paragraphs = document.getParagraphs();
        for (XWPFParagraph paragraph : paragraphs) {
   
            //判断此段落时候需要进行替换
            String text = paragraph.getText();
            if (checkText(text)) {
   
                List<XWPFRun> runs = paragraph.getRuns();
                for (XWPFRun run : runs) {
   
                    //替换模板原来位置
                    run.setText(changeValue(run.toString(), textMap), 0);
                }
            }
        }
    }

    /**
     * 复制表头 插入行数据,这里样式和表头一样
     *
     * @param document    docx解析对象
     * @param tableList   需要插入数据集合
     * @param headerIndex 表头的行索引,从0开始
     */
    public static void copyHeaderInsertText(XWPFDocument document, List<String[]>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

poi 导出word工具类,支持模板内容换行 的相关文章

  • 使用 Intellij Idea 和 gradle 在应用程序引擎上调试 localhost

    我正在使用 IntelliJ 社区添加并使用 Gradle 构建应用程序引擎标准环境应用程序 在迁移到 IntelliJ 和端点框架之前 我使用的是 Android Studio 我无法调试我的本地主机 我添加了 jvmFlags 如下所述
  • 在java中轮询Http服务器(重复发送http get请求)

    当对其进行 REST 调用时 我的 Web 服务器会发送一些信息 我想不断轮询该服务器 间隔5秒后重复发送HTTP GET请求 以检查返回的信息是否有任何变化 做到这一点最有效的方法是什么 您能提供一些代码示例吗 请注意 我只想开发客户端代
  • 按下按钮并在java中的新窗口中打开文件

    我创建了一个 JFrame 并放置了一个文本字段和按钮 在文本字段中我放置了从文本文件读取的名称 我知道我想单击按钮并打开一个已知窗口 我想在其中放置名称 其他信息来自同一个文件 这是我的代码 这是我的主框架 package Fronten
  • 如何在java中将数组值排序为循环格式?

    我的数组值如下 String value 1 2 3 4 5 6 7 8 9 10 假设如果我将值 5 传递给 tat 数组 它应该按如下顺序排序 5 6 7 8 9 10 1 2 3 4 怎么办 有人帮忙吗 感谢你 你需要的就是所谓的轮换
  • 与 Eclipse 中的 Java Content Assist 交互

    作为我的插件项目的一部分 我正在考虑与 Eclipse 在 Java 文件上显示的内容辅助列表进行交互 我正在尝试根据一些外部数据对列表进行重新排序 我看过一些有关创建新内容辅助的教程 但没有看到有关更改现有内容辅助的教程 这可能吗 如果是
  • eclipse行号状态行贡献项是如何实现的?

    我需要更新状态行编辑器特定的信息 我已经有了自己的实现 但我想看看 eclipse 贡献项是如何实现的 它显示状态行中的行号 列位置 谁能指点一下 哪里可以找到源代码 提前致谢 亚历克斯 G 我一直在研究它 它非常复杂 我不确定我是否了解完
  • 为什么即使我的哈希码值相同,“==”也会返回 false

    我写了一个像这样的课程 public class HashCodeImpl public int hashCode return 1 public static void main String args TODO Auto generat
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • java inputstream 打印控制台内容

    sock new Socket www google com 80 out new BufferedOutputStream sock getOutputStream in new BufferedInputStream sock getI
  • Runtime.exec 处理包含多个空格的参数

    我怎样才能进行以下运行 public class ExecTest public static void main String args try Notice the multiple spaces in the argument Str
  • 如何在java中将日期格式从YYMMDD更改为YYYY-MM-DD? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我从机器可读代码中获取日期格式为 YYMMDD 如何将其更改为 YYYY MM DD 例如我收到 871223 YYMMDD 我想把它改成
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • 如何使用 JMagick 转换色彩空间?

    如何使用 JMagick API 转换色彩空间 例如 CMYK gt RGB 和 RGB gt CMYK None
  • 使用 HtmlUnit 定位弹出窗口

    我正在构建一个登录网站并抓取一些数据的程序 登录表单是一个弹出窗口 所以我需要访问这个www betexplorer com网站 在页面的右上角有一个登录链接 写着 登录 我单击该链接 然后出现登录弹出表单 我能够找到顶部的登录链接 但找不
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • Java 正则表达式中的逻辑 AND

    是否可以在 Java Regex 中实现逻辑 AND 如果答案是肯定的 那么如何实现呢 正则表达式中的逻辑 AND 由一系列堆叠的先行断言组成 例如 foo bar glarch 将匹配包含所有三个 foo bar 和 glarch 的任何
  • Log4j2 ThreadContext 映射不适用于parallelStream()

    我有以下示例代码 public class Test static System setProperty isThreadContextMapInheritable true private static final Logger LOGG
  • Android View Canvas onDraw 未执行

    我目前正在开发一个自定义视图 它在画布上绘制一些图块 这些图块是从多个文件加载的 并将在需要时加载 它们将由 AsyncTask 加载 如果它们已经加载 它们只会被绘制在画布上 这工作正常 如果加载了这些图片 AsyncTask 就会触发v
  • Java RMI - 客户端超时

    我正在使用 Java RMI 构建分布式系统 它必须支持服务器丢失 如果我的客户端使用 RMI 连接到服务器 如果该服务器出现故障 例如电缆问题 我的客户端应该会收到异常 以便它可以连接到其他服务器 但是当服务器出现故障时 我的客户端什么也

随机推荐

  • 分布式任务调度平台XXL-JOB(超详细喂嘴版)

    1 XXL JOB框架 1 0 环境 Maven3 Jdk1 8 Mysql5 7 1 1 下载源码 https github com xuxueli xxl job 1 2 中文文档 https www xuxueli com xxl j
  • Linux多线程编程---线程间同步(互斥锁、条件变量、信号量和读写锁)

    本篇博文转自http zhangxiaoya github io 2015 05 15 multi thread of c program language on linux Linux下提供了多种方式来处理线程同步 最常用的是互斥锁 条件
  • Qt5.7 Qt for Embedded Linux

    从Qt5 0开始 Qt不再包含自己的视窗系统了 QWS 对于单屏幕的情况 使用QtPlatform Abstraction是一个很好的选择 多屏的情况可以通过Wayland实现 有许多跨平台的插件可以使用 EGLFS LinuxFB KMS
  • 解析不同种类的StableDiffusion模型Models,再也不用担心该用什么了

    Stable Diffusion是一个基于Latent Diffusion Models 潜在扩散模型 LDMs 的文图生成 text to image 模型 具体来说 Stable Diffusion在 LAION 5B 的一个子集上训练
  • 《解构领域驱动设计》- 领域驱动设计统一过程

    更多内容关注微信公众号 fullstack888 领域驱动设计的核心是模型驱动设计 而模型驱动设计的核心又是领域模型 领域模型必须在统一语言的指导下获得 领域模型又可进一步细分为核心子领域 通用子领域和支撑子域 系统上下文 限界上下文 分层
  • python 中字典{ }的嵌套

    在机器学习中会用字典的嵌套来存储决策树的信息 对绘制树形图有很大的作用 其中嵌套字典的生成是一个递归的过程 如下所示 gt gt gt s a 0 no 1 flippers 0 no 1 maybe b 构造字典 gt gt gt s a
  • VUE element-ui 之table表格导出Excel(自定义表头+自定义导出字段内容)

    导出excel自定义表头及自定义字段步骤 1 安装依赖 npm install save xlsx file saver npm install D script loader 2 下载Blob js export2Excel js 百度网
  • 在BSN武汉链上部署solidity智能合约(转载)

    分享一篇不错的关于武汉链的入门技术文章 原文连接 在BSN武汉链上部署solidity智能合约 登链社区 区块链技术社区 在BSN武汉链上部署solidity智能合约 BSN简介区块链服务网络 Blockchain basedService
  • 【STM32】使用单片机DAC产生噪声群

    前期准备 软件平台 基于KEIL的HAL库开发 硬件平台 正点原子STM32F4探索者开发板 STM32F4 DAC 简介 STM32F4 的 DAC 模块 数字 模拟转换模块 是 12 位数字输入 电压输出型的 DAC DAC 可以配置为
  • Linux系统调用

    一 概述 现代操作系统中 内核提供了用户进程与内核进行交互的一组接口 这些接口让应用程序受限地访问硬件设备 提供了创建新进程并与已有进程进行通信的机制 也提供了申请操作系统其它资源的能力 这些接口就称为系统调用接口 Linux系统也提供了类
  • 7.代理模式

    1 UML 2 代码 include
  • Onvif协议学习:5、设备搜索

    Onvif协议学习 5 设备搜索 文章目录 Onvif协议学习 5 设备搜索 1 前言 2 WS Discovery原理 3 单播 多播 组播 和广播的区别 4 设备搜索 1 搜索IPC 方式1 2 搜索IPC 方式2 原文链接 https
  • Spring Cloud gateway 六 Sentinel nacos存储动态刷新

    微服务当前这么火爆的程度 如果不能学会一种微服务框架技术 怎么能升职加薪 增加简历的筹码 spring cloud 和 Dubbo 需要单独学习 说没有时间 没有精力 要学俩个框架 而Spring Cloud alibaba只需要你学会一个
  • 《区块链开发实战:Hyperledger Fabric关键技术与案例分析》读书笔记

    区块链技术被认为是轮子 铁轨 电力 互联网之后 又一个具备颠覆性的核心技术 区块链改变的将是价值传递的方式 将解决人类社会诞生以来一直在思考的问题 如何获取未知的信任 随着业界对比特币系统技术架构的深入了解 人们发现这些技术除了应用在比特币
  • 【Try to Hack】宽字节注入

    博客主页 开心星人的博客主页 系列专栏 Try to Hack 欢迎关注 点赞 收藏 留言 首发时间 2022年7月4日 作者水平很有限 如果发现错误 还望告知 感谢 导航小助手 编码 魔术引号 宽字节注入产生原因 指定表名时单引号问题 数
  • JS逆向——一个新的视频爬虫

    仅限技术交流和学习记录 严禁用于任何商业用途 否则后果自负 侵删 个人觉得坑还挺多 但难度不算大的一篇js逆向 来吧 先分析 起初解析pc网页端 感觉有点难度 然后就转到移动网页端了 其实是一模一样的 除了接口和接口非加密参数不一样 所以没
  • html页面刷新或关闭前的操作

    页面会触发beforeunload或者pagehide事件 1 代码实现 const listenerCallbacks new Set const listenerCenter add listener listenerCallbacks
  • python unpack infinity,Python-输入包含NaN、infinity或对于dtype(“float64”)来说太大的值...

    我是新来的Python 我正在尝试使用sklearn cluster 这是我的代码 from sklearn cluster import MiniBatchKMeans kmeans MiniBatchKMeans n clusters
  • 安装JAVA 并配置环境变量

    1 在官网下载安装包 这里选择的是Java8 选择对应版本 本人使用的windows10 x86系统 JDK1 8官网下载地址 https www oracle com java technologies downloads java8 2
  • poi 导出word工具类,支持模板内容换行

    package com sinosoft sinoep modules taskOrder common import org apache poi xwpf usermodel import java util List import j