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

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[]>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值