吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 1861|回复: 46
上一主题 下一主题

[原创工具] Word文档序号填充工具

[复制链接]
跳转到指定楼层
楼主
ijwddd 发表于 2019-10-11 00:51 回帖奖励
本帖最后由 ijwddd 于 2019-10-11 11:00 编辑

Word文档表格序号填充

最近我需要搞一些弄一些卡,是通过word文档里面的表格来打印成一张a4纸后再切割。

所以需要填写word文档里面的序号,而表格数量有点多,手动输入的话太浪费时间,所以写了个自动填充word文档表格的小工具,是使用java写的。
类似这种表格
表格

实现思路:

1.读取word文档
使用的是poi读写word文档,word文档分为doc和docx后缀的文档,由于doc太老了点,我就只弄docx文档

读取docx文档有2种方式;

  • 通过XWDFDocument对象读取
  • 通过XWPFWordExtractor对象读取

而XWPFWordExtractor的本质上也是通过XWDFDocument对象来读取数据的,所以我直接用XWDFDocument来读取了。

2.写word文档
docx文档可以直接new一个空白的XWPFDocment文件开始写入内容,最后写入到输出流中。

从读取word文档的数据中判断对应的条件,我的文档都是前一个表格是标题,后一个表格填入对应的内容的。

代码

    /**
     * 自动填充功能
     * 参数:
     * String docx_url 文件模板
     * ,String file_url 输出路径
     * ,String prefix 填充序号的前缀
     * ,Long num 填充的序号
     */
    public static void autoFillWorld(String docx_url,String file_url,String prefix,Long num,String select,int autoNum) throws Exception {

        InputStream is = new FileInputStream(docx_url);
        //读取文档
        XWPFDocument doc = new XWPFDocument(is);
        //使用迭代器,获取文档里的表格
        Iterator<XWPFTable> iterator = doc.getTablesIterator();
        XWPFTable table;
        List<XWPFTableCell> cells;
        List<XWPFTableRow> rows;

        String text = null;

        //遍历表格
        while (iterator.hasNext()) {
            table = iterator.next();
            rows = table.getRows();
            for (XWPFTableRow row : rows) {
                cells = row.getTableCells();
                //遍历每一个表格,并判断符合条件的表格
                for (int i = 0; i < cells.size(); i++) {
                    String text1 = cells.get(i).getText();
                    if (select.equals(text1)) {
                        String text2 = prefix+num;
                        //在表格中添加内容,并没有覆盖
                        cells.get(i+1).setText(text2);
                        num=num+autoNum;
                    }
                }
            }
        }

        //操作完毕后输出文档
        OutputStream os = new FileOutputStream(file_url);
        doc.write(os);
        os.close();
        is.close();
    }

![软件图片](https://attach.52pojie.cn//forum/201910/11/004324qh7geqyubgqbd557.jpg?l)



下载地址:
有jdk环境的下jar包,没有就下压缩包
https://www.lanzous.com/b00n4l0cb



1.png (14.22 KB, 下载次数: 0)

表格

表格

1570725785(1).jpg (24.23 KB, 下载次数: 1)

软件

软件

免费评分

参与人数 6吾爱币 +9 热心值 +6 收起 理由
newcools521 + 1 我很赞同!
jjhjeep + 1 + 1 我很赞同!
jawy + 1 谢谢@Thanks!
Blueyes + 1 + 1 我很赞同!
xinkui + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Hmily + 6 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
snipe 发表于 2019-10-11 04:55
原创精神及能力可嘉!但建议字处理软件邮件合并功用比这个丰富
推荐
chinabrz 发表于 2019-10-11 01:35
4#
cdwdz 发表于 2019-10-11 08:09
5#
pcb05 发表于 2019-10-11 08:22

感谢分享
6#
依佳人时代 发表于 2019-10-11 08:22
谢谢楼主分享!!!!!!!!!!
7#
xiaowuai 发表于 2019-10-11 08:34
感谢分享
8#
2623666 发表于 2019-10-11 08:37
excel 不是可以自动填写么?
9#
huste 发表于 2019-10-11 08:43
谢谢分享
10#
kingmaxpan 发表于 2019-10-11 08:48
谢谢大佬分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 提醒:禁止复制他人回复等『恶意灌水』行为,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2019-10-14 22:01

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表