精华内容
下载资源
问答
  • /** * poi word工具类 */ public class POIWordUtil { /** * 替换内容 * * @param textMap 需要替换的信息集合 */ public static void replaceWord(XWPFDocument document, Map textMap) { //解析替换文本段落对象 ...

    1 Maven依赖

            <!--hutool工具包-->
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>5.5.1</version>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>easyexcel</artifactId>
                <version>2.2.7</version>
            </dependency>

    2 POIWordUtil

    POI Word工具类。

    package com.util;
    
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;
    
    import cn.hutool.core.util.StrUtil;
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    import org.apache.poi.xwpf.usermodel.XWPFParagraph;
    import org.apache.poi.xwpf.usermodel.XWPFRun;
    import org.apache.poi.xwpf.usermodel.XWPFTable;
    import org.apache.poi.xwpf.usermodel.XWPFTableCell;
    import org.apache.poi.xwpf.usermodel.XWPFTableRow;
    
    /**
     * poi word工具类
     */
    public class POIWordUtil {
        /**
         * 替换内容
         *
         * @param textMap 需要替换的信息集合
         */
        public static void replaceWord(XWPFDocument document,
                                       Map<String, String> textMap) {
            //解析替换文本段落对象
            changeText(document, textMap);
            //解析替换表格对象
            changeTable(document, textMap);
    
        }
    
        /**
         * 替换段落文本
         *
         * @param document docx解析对象
         * @param textMap  需要替换的信息集合
         */
        public static void changeText(XWPFDocument document, Map<String, String> textMap) {
            //获取段落集合
            List<XWPFParagraph> paragraphs = document.getParagraphs();
            for (XWPFParagraph paragraph : paragraphs) {
                //判断此段落时候需要进行替换
                String text = paragraph.getText();
                if (StrUtil.isNotBlank(text) && text.contains("${")) {
                    List<XWPFRun> runs = paragraph.getRuns();
                    for (XWPFRun run : runs) {
                        //替换模板原来位置
                        String textValue = changeValue(run.toString(), textMap);
                        run.setText(textValue, 0);
                    }
                }
            }
        }
    
        /**
         * 替换表格对象方法
         *
         * @param document docx解析对象
         * @param textMap  需要替换的信息集合
         */
        public static void changeTable(XWPFDocument document, Map<String, String> textMap) {
            //获取表格对象集合
            List<XWPFTable> tables = document.getTables();
            for (int i = 0; i < tables.size(); i++) {
                //只处理行数大于等于2的表格,且不循环表头
                XWPFTable table = tables.get(i);
                if (table.getRows().size() > 1) {
                    //判断表格内容是否可以替换
                    String cellText = table.getText();
                    if (StrUtil.isNotBlank(cellText) && cellText.contains("${")){
                        List<XWPFTableRow> rows = table.getRows();
                        //遍历表格,并替换模板
                        eachTable(rows, textMap);
                    }
                }
            }
        }
    
        /**
         * 遍历表格
         *
         * @param rows    表格行对象
         * @param textMap 需要替换的信息集合
         */
        public static void eachTable(List<XWPFTableRow> rows, Map<String, String> textMap) {
            for (XWPFTableRow row : rows) {
                List<XWPFTableCell> cells = row.getTableCells();
                for (XWPFTableCell cell : cells) {
                    //判断单元格内容是否可以替换
                    String cellText = cell.getText();
                    if (StrUtil.isNotBlank(cellText) && cellText.contains("${")) {
                        List<XWPFParagraph> paragraphs = cell.getParagraphs();
                        for (XWPFParagraph paragraph : paragraphs) {
                            List<XWPFRun> runs = paragraph.getRuns();
                            for (XWPFRun run : runs) {
                                run.setText(changeValue(run.toString(), textMap), 0);
                            }
                        }
                    }
                }
            }
        }
    
        /**
         * 匹配传入信息集合与模板
         *
         * @param value   模板需要替换的区域
         * @param textMap 传入信息集合
         * @return 模板需要替换区域信息集合对应值
         */
        public static String changeValue(String value, Map<String, String> textMap) {
            Set<Entry<String, String>> textSets = textMap.entrySet();
            for (Entry<String, String> textSet : textSets) {
                //匹配模板与替换值 格式${key}
                String key = "${" + textSet.getKey() + "}";
                if (value.indexOf(key) != -1) {
                    value = value.replace(key, textSet.getValue());
                }
            }
            return value;
        }
    }

    3 调试代码

        /**
         * 替换内容
         *
         * @param response
         */
        @GetMapping("/replaceContent")
        public void replaceContent(HttpServletResponse response) {
            try {
                //读文件
                ClassPathResource cpr = new ClassPathResource("/doc/模板2.docx");
                XWPFDocument document = new XWPFDocument(cpr.getInputStream());
    
                //文本数据
                Map<String, String> contentMap = new HashMap<>();
                contentMap.put("xudongmaster", "旭东怪");
                contentMap.put("xudongmaster2", "旭东怪2");
                contentMap.put("xudongmaster3", "旭东怪3");
                contentMap.put("tablexudongmaster", "表格旭东怪");
                contentMap.put("tablexudongmaster2", "表格旭东怪2");
                contentMap.put("tablexudongmaster3", "表格旭东怪3");
                
                //替换内容
                POIWordUtil.replaceWord(document,contentMap);
    
                //返回流
                response.setHeader("content-type", "application/octet-stream");
                response.setContentType("application/octet-stream;charset=UTF-8");
                response.setHeader("Content-Disposition", "attachment; filename=" + new String("模板.docx".getBytes("utf-8"), "ISO-8859-1"));
                OutputStream outputStream = response.getOutputStream();
                document.write(outputStream);
                outputStream.flush();
                outputStream.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }

    4 模板文件

    模板目录:

    模板内容:

    5 调试结果

    注:

    出现内容没有替换成功的情况时,解决办法参考以下博客。

    POI XWPFParagraph.getRuns分段混乱问题解决

    展开全文
  • 内容提要:本文介绍word 表格转换成文本的方法。对Word感兴趣的朋友可加Word学习交流群:180627193(www.itblw.com)  当一个填得满满的表格中有数以万计的内容,需要把表格中的文字提取出来组成文本进行编辑,...
    内容提要:本文介绍word 表格转换成文本的方法。对Word感兴趣的朋友可加Word学习交流群:180627193(www.itblw.com

      当一个填得满满的表格中有数以万计的内容,需要把表格中的文字提取出来组成文本进行编辑,如果我们只是将文字复制粘贴出来,形成一篇新文档,这样做确实太没有效率了。

      其实就像我们可以在WORD中直接把文本转换成表格一样,也可以直接把WORD中的表格转换成文本。

      我们将表格转换成文本,只需执行下面操作即可。

      选中需转换成文本的表格,在WORD表格菜单下转换选项中选择表格→转换→表格转换成文本,在弹出来的表格转换成文本对话框中选择文字分隔符的形式,然后选择确定。

    展开全文
  • 在C++操作word文档的接口中,提供了将文本转换表格的接口,ConvertToTable,可是总是调用失败,求大神解救
  • 读取word文档数据的时候 怎样直接跳过表格去获取word的其他文本

    读取word文档数据的时候 怎样直接跳过表格去获取word的其他文本
    红框问题不显示

    展开全文
  • 目录 问题描述 解决方案与操作步骤 第一步,点击表格​ 按钮,... 第二步、① 右击表格​ 按钮,弹出右键菜单,选择“表格属性” 或 ②将光标置于表格内,选择“布局”-“表”-“属性” ...word表格怎么改边框与...

    目录

     

    问题描述

    解决方案与操作步骤

    第一步,点击表格​ 按钮,实现对表格的全选,(一定要全选才行)

    第二步、① 右击表格​ 按钮,弹出右键菜单,选择“表格属性” 或 ②将光标置于表格内,选择“布局”-“表”-“属性”

    第三步、点击“表格属性”-“单元格”-“选项”,弹出“单元格选项”对话框:

    示例


    问题描述

    WORD中,怎么缩小表格边框与字的距离?
    word表格怎么改边框与文字的距离
    Word如何调整文字与表格线间距
    如何设置word表格中的单元格边距
    word 如何设置表格边框和文字间的距离
    word怎么调整单元格文字边距表格文字紧靠边框怎么办
    word 中调整表格内文字与表格边框中距离
    word如何调整字与表格边框的距离
    word2007怎么修改表格中文字与单元格边框间距
    word中表格标题与表的距离如何调小
    word文档里文字与表格总有一段距离怎么清除
    怎么在word2003里怎么调整表格里的文字与边框的距离

    如下图所示,如果需要修改箭头所示的距离,请按下面的方法操作

     

    解决方案与操作步骤

    第一步,点击表格 按钮,实现对表格的全选,(一定要全选才行)

    第二步、① 右击表格 按钮,弹出右键菜单,选择“表格属性” 或 ②将光标置于表格内,选择“布局”-“表”-“属性”

                       方式一                                                                              方式二

    第三步、点击“表格属性”-“单元格”-“选项”,弹出“单元格选项”对话框:

    a)、去掉“与整张表格相同”的勾选;

    b)、将“上、下、左、右”设置合适的值。

    示例

    如:“上、下”设置“0 厘米”,“左、右”设置“0.19 厘米”,对比效果如下:

                                设置前                                                                                                   设置后

    展开全文
  • labview读取word文本表格数据,亲测可用,项目需要用到,自己做的小子vi
  • 在C# 在word中查找及替换文本一文中,主要介绍了在Word中以文本替换文本的方法,在本篇文章中,将介绍如何用一篇Word文档、图片或者表格来替换文档中的指定文本字符串。示例要点如下: 1. 用文档替换Word中的文本 ...
  • word学习-文本表格

    2020-03-09 08:58:59
    文本表格
  • word中存在多个表格,每个表格会有一些使用不同颜色标注的高亮文本,那么如何利用编程语言自动的提出这些高亮文本呢?这便是本文的问题情境,针对此,我使用Java实现了这一功能。 针对上面,这个表格(只匹配表格...
  • 表格文本插入Microsoft Word文档
  • SpringBoot整合poi导出word文本表格

    千次阅读 2019-05-15 08:40:43
    SpringBoot整合poi导出word文本表格 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法...
  • 2020年10月28日----word文本表格.docx
  • vue/cli 4.5.8使用tinymce富文本编辑器无样式黏贴word表格tinymce版本第二步第三步 组件封装第三步 组件的引用第三步 效果 tinymce版本 附上链接 tinymce4.5.12 附上命令: npm install tinymce -S npm install @...
  • Python-docx 模块读写 Word 文档基础(三):读取文档文本信息、表格信息、段落格式、字体格式等前言:1、获取文档章节信息:2、获取段落文字信息:3、获取文字格式信息:4、获取文档中表格信息:结尾:【Python与...
  • 工作中不断学习,总能得到一点点成就感! 样例: 转载于:https://www.cnblogs.com/xiaochina/p/7327082.html
  • Word里面有时候也需要将表格的内容提取出来,专门转换为文本,这样来方便进行需要的操作。下面介绍两种将表格内容转换为文本的方法。 方法一: 1.全选目标表格。 2.然后按Ctrl+C快捷键进行复制。 3.在Word的空白...
  • 导语:因为最近的工作需要将excel表格中的一部分内容去掉表格框转换成word文本放到另一个word文档,所以操作就是需要去表格转换成word文本。因此我本人在上网搜了相关信息发现:大部分解决办法解释操作得比较麻烦也...
  • Word中,如何使表格中的文本去掉表格边框,转换为纯文本呢? 方法: 点击表格任意处 点击表格工具-布局选项卡 数据分类中点击转换为文本 弹出表格转换成…?对话框,默认选择制表符(T),点击确定 在Word中,如何使...
  • 很多时候,我们可能会觉得在文档中插入...1、用Word2013打开一篇文档,对我们需要转换的文本作如下设置:将不同列的文本用空格分开,不同行的文本用回车键分开。然后,选中我们需要转换成表格文本,切换到“插入”
  • 在本篇文章中,将介绍如何用一篇Word文档、图片或者表格来替换文档中的指定文本字符串。示例要点如下: 用文档替换Word中的文本 用图片替换Word中的文本表格替换Word中的文本 工具 Free Spire.Doc for .NET ...
  • word文本转换为表格 ,如果文本是以硬回车(http://baike.baidu.com/view/1266980.htm)来分隔的,则在“文字分隔位置”中选择“段落标记”,指定行列即可,(不过p可能无法显示在其它字符的textbox内)(其它特殊...
  • NPOI导出word,NPOI导出word表格,NPOI复制table表格 XWPFDocument中XWPFTable 使用NPOI可以对Word中的文本做替换,当遇到表格时,单个表格也可以循环遍历替换,但是如果需要根据数据源的条数,动态生成多个表格时...
  • Python顺序读取word文档中的文本表格 在网上找了好久都没有找到顺序读取word表格文本的发方法,看源码看着看着就被绕晕了,最后在某篇博客的评论区里找到了这个代码的链接,原网站也是在评论区里不断讨论完善...
  • 截图表格转可编辑Word文本教程

    千次阅读 2017-09-30 15:45:59
    我们知道,图片上的文字一般是不能编辑的,而在图片上编辑文字比较麻烦,要是需要图片中的文字,这时就需要将文字图片转换成Word或txt格式文档。那么,图片上的文字怎样才能转换成word的格式呢?如何将JPG、JPEG等...
  • word-export ...1.SpringBoot + poi-tl 根据word模板动态生成word文本、动态行表格、循环列表下的动态行表格、合并单元格) 2.SpringBoot + easypoi 根据word模板动态生成word文本表格、图片)
  • 实现了word表格的内容(包括图片),批量导出至文本文件中
  • Java Poi流根据Word模板插入相应的文本表格和图片,并生成新的Word报告。文档提供相应的jar包和Word模板文件,表格支持动态添加数据,插入图片支持多种格式!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,665
精华内容 666
关键字:

word表格文本