精华内容
下载资源
问答
  • word根据内容自动生成表格
    2022-08-15 16:53:55

            开发功能需求:给定word模板,word模板中存在"${XXX}"格式的需要变量替换的一些词,包括直接可以被替换的词,需要循环获取、替换、格式处理的词(例如根据数据库存储内容循环生成表格),模板中还可能会有需要自动增行的表格。

    1.用到的依赖

    <!--word验证报告相关-->
    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>5.4.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.17</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.17</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>ooxml-schemas</artifactId>
        <version>1.1</version>
    </dependency>

    2.段落操作

    • XWPFParagraph->XWPFRun.setText(""),设置文本内容
    • XWPFParagraph->XWPFRun.setBold(true),设置文本是否加粗
    • XWPFParagraph->XWPFRun.setFontSize(14),设置文本字体大小
    • XWPFParagraph->XWPFRun.setFontFamily("Times New Roman", XWPFRun.FontCharRange.ascii)以及XWPFRun.setFontFamily("宋体", XWPFRun.FontCharRange.eastAsia),设置中英文字体
    • XWPFParagraph->XWPFRun.setBold(true),设置文本是否加粗
    • XWPFParagraph.setFontAlignment(HorizontalAlignment.CENTER),设置文本对齐方式
    • XmlCursor xmlCursor = document.getParagraphArray(posOfFirstParagraph + 1).getCTP().newCursor(),获取游标位置
    • XWPFParagraph paragraph =XWPFDocument.insertNewParagraph(xmlCursor),在游标位置新增段落
    • XWPFTable table = XWPFDocument.insertNewTbl(xmlCursor),在游标位置新增表格

    3.表格操作

    • table->row->cell.setText(""),设置单元格内的文本
    • table->row->cell.setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER),设置表格垂直居中
    • table->row->cell->CTTc->CTP->CTPPr->CTJc.setVal(STJc.CENTER),设置表格水平居中
    • table->row->cell->CTTc->CTP->CTPPr->CTInd.setFirstLineChars(BigInteger.valueOf(0))以及CTInd.setFirstLine(BigInteger.valueOf(0)),设置首行缩进
    • table->row->cell->CTTc->CTP->CTR->CTRPr->CTHpsMeasure.setVal(BigInteger.valueOf(24)),设置字体大小
    • table->row->cell->CTTc->CTTcPr->CTTcBorders->CTBorder.setVal(STBorder.SINGLE)以及CTBorder.setSz(new BigInteger("12")),设置某个单元格某个边框格式以及粗细
    • table->CTTbl->CTTblPr->CTTblBorders->CTBorder.setSz(new BigInteger("12")),设置表格某个边框格式以及粗细
    • table->row->cell->CTTc->CTTcPrsetVMerge(CTVMerge.setVal(STMerge.RESTART)以及CTVMerge.setVal(STMerge.CONTINUE)),对上下内容相同的行进行合并单元格
    • table->row->cell->seColor("D9D9D9"),设置单元格的颜色
    • table->row->cell->CTTc->CTP->CTR->CTRPr->CTFonts.setEastAsia("黑体")以及CTFonts.setAscii("Times New Roman"),设置中英文字体

    4.段落文本替换

    • 获取全文的段落,若段落中存在"$",说明存在需要替换的文本,获取段落的所有runs,依次判断每个run中是否存在"$",若存在,则将该"${XXX}"替换成集合中它对应的值;
    • 若有特殊内容需要替换,例如需要根据数据库内容循环生成新的内容,则需要获取要插入表格的游标,在游标位置创建新的段落,创建新的run,设置run的文本/表标题等内容、字体、字号等,或者在游标位置创建新的表格,按照table->row->cell,依次给每一个cell赋值,最终完成表格内容的填充;
    • 填充完毕,按照文本和表格的操作修改文本和表格。

    5.表格文本替换

            获取全文的表格,若表格中存在"$",说明存在需要替换的文本,获取表格的所有rows下的cells,依次判断每个cell中是否存在"$",若存在,则获取该cell的段落下的run,将该"${XXX}"替换成集合中它对应的值。

    6.表格自动增行

    • 获取要在表格中展示的全部数据,以及需要处理的表格位置;
    • 根据要展示的数据的行数和列数,新增一个指定行数和列数的空白表格;
    • 在空白表格中插入要展示的数据;
    • 优化表格的格式,包括合并上下相同内容的单元格,水平居中、垂直居中、首行不缩进、设置字体和大小、表格部分边框加粗等。
    更多相关内容
  • 废话不多说,直接给大家贴js...//js实现输入表格行数、列数自动生成表格源代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <...
  • 主要介绍了Python使用win32com模块实现数据库表结构自动生成word表格的方法,结合实例形式分析了win32com模块下载、连接mysql、查询获取表结构以及使用win32com生成word表格的相关操作技巧,需要的朋友可以参考下
  • 易语言自动添加WORD表格源码
  • 该工具是用于自动生成数据库文档,由于表多,且写文档麻烦,特意整理成一工具。 支持所有支持 JDBC 的数据库,并简单抽象成一个自动化框架,使用者可以自行自定义连接,导出样式等。 另附带一个数据库比较工具,用于...
  • 根据Excel内容批量生成Word表格

    千次阅读 2020-08-13 17:09:07
    现在提供一种解决方法:将大量内容信息填到Excel中,然后利用下面软件批量生成Word表格。 步骤:①先制作映射文件(txt格式);②根据映射文件从Excl中读取数据,至Word中填写数据 下面是下载地址(附教程):...

    不知你是否有这样的需求:①要填写大量调查的卡片,或②要发放大量的邀请函;

    总之就是:要批量生成Word表格,

    你的方法是什么?现提供一种解决方案:先将大量内容信息填到Excel中,然后利用下面软件批量生成Word表格。

    步骤:①先制作映射文件(txt格式);②根据映射文件从Excl中读取数据,至Word中填写数据

     

    下面是软件下载地址(附教程):https://download.csdn.net/download/lengyeshuang/12697982

     

    简要说明:

    准备工作

    1、安装后是这样婶的(需net frame4.7.2+office2010):

    2、

    3、制定映射关系

    4、选择Excel表与输出文件夹,自动生成

    展开全文
  • 将SQL SERVER数据库表结构自动生成word文档,速度快,效率高
  • 使用java Apache poi 根据word模板生成word报表 仅支持docx格式的word文件,大概是word2010及以后版本,doc格式不支持。 使用说明:https://blog.csdn.net/u012775558/article/details/79678701
  • 网络上已经有可以用的类似工具,但大都不能自定义,且代码乱,该工具符合6大设计模式,可以作为sql导出word的框架,附带demo,导出后的word见我的博客,导出样式可修改。
  • 上几章节我们主要学习了如何读取文章,而主要任务是读取文档中的文本信息,也就是字符串,而图片本身是不可读的文件所以并没有去读取图片。从今天开始将学习如何通过 python 脚本来自动生成一个 word 文档。...
    万叶集
    🎉 隐约雷鸣,阴霾天空。 🎉
    🎉 但盼风雨来,能留你在此。 🎉


    前言
    ✌ 作者简介:渴望力量的哈士奇 ✌,大家可以叫我 🐶哈士奇🐶 ,一位致力于 TFS - 全栈 赋能的博主 ✌
    🏆 CSDN博客专家认证、新星计划第三季全栈赛道 top_1 、华为云享专家、阿里云专家博主 🏆
    📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
    💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬
    🔥 如果感觉博主的文章还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主哦


    专栏系列(点击解锁)学习路线指引知识定位
    🔥Python全栈白皮书🔥 零基础入门篇 以浅显易懂的方式轻松入门,让你彻底爱上Python的魅力。
    语法进阶篇 主要围绕多线程编程、正则表达式学习、含贴近实战的项目练习 。
    自动化办公篇 实现日常办公软件的自动化操作,节省时间、提高办公效率。
    自动化测试实战篇 从实战的角度出发,先人一步,快速转型测试开发工程师。
    数据库开发实战篇 更新中
    爬虫入门与实战 更新中
    数据分析篇 更新中
    前端入门+flask 全栈篇 更新中
    django+vue全栈篇 更新中
    拓展-人工智能入门 更新中
    网络安全之路 踩坑篇 记录学习及演练过程中遇到的坑,便于后来居上者
    网安知识扫盲篇 三天打鱼,不深入了解原理,只会让你成为脚本小子。
    vulhub靶场漏洞复现 让漏洞复现变得简单,让安全研究者更加专注于漏洞原理本身。
    shell编程篇 不涉及linux基础,最终案例会偏向于安全加固方向。 [待完结]
    WEB漏洞攻防篇 2021年9月3日停止更新,转战先知社区等安全社区及小密圈
    渗透工具使用集锦 2021年9月3日停止更新,转战先知社区等安全社区及小密圈
    点点点工程师 测试神器 - Charles 软件测试数据包抓包分析神器
    测试神器 - Fiddler 一文学会 fiddle ,学不会倒立吃翔,稀得!
    测试神器 - Jmeter 不仅是性能测试神器,更可用于搭建轻量级接口自动化测试框架。
    RobotFrameWork Python实现的自动化测试利器,该篇章仅介绍UI自动化部分。
    Java实现UI自动化 文档写于2016年,Java实现的UI自动化,仍有借鉴意义。
    MonkeyRunner 该工具目前的应用场景已不多,文档已删,为了排版好看才留着。


    上几章节我们主要学习了如何读取文章,而主要任务是读取文档中的文本信息,也就是字符串,而图片本身是不可读的文件所以并没有去读取图片。从今天开始将学习如何通过 python 脚本来自动生成一个 word 文档。

    🐳 保存生成 word

    在学习如何生成一个 word 文档之前,我们来看看如何保存生成 word 文件,因为马上就会用到。

    使用方法:

    document_obj.save(文件地址) ---> /home/demo.docx

    代码示例如下:

    # coding:utf-8
    
    
    from docx import Document
    
    
    doc = Document()
    
    doc.save('test.docx')
    

    运行结果如下:



    🐳 生成标题

    使用方法:

    title_obj = DocumentObj.add_heading(标题内容, 标题样式等级) 通过 Document 对象调用 add_heading 函数 返回 标题对象


    标题样式等级:

    0 <= lever <= 9


    标题内容追加:

    titleobj.add_run 通过标题对象调用 add_run 函数 进行标题内容的追加

    代码示例如下:

    # coding:utf-8
    
    
    from docx import Document
    
    
    doc = Document()
    
    title = doc.add_heading('this is title', 1)    # 添加 word 文件的 title 标题
    title.add_run('\n - 测试版本')      # 针对 title 标题进行内容追加(换行)
    
    
    doc.save('test.docx')
    

    运行结果如下:



    🐳 生成段落

    使用方法:

    para_obj = document_obj.add_paragraph(段落内容) 通过 Document 对象调用 add_paragraph 函数 返回 段落对象


    段落内容追加:

    para_obj.add_run(字符串内容)


    换行方式:

    \n 换行特殊字符来分割段落

    代码示例如下:

    # coding:utf-8
    
    
    from docx import Document
    
    
    doc = Document()
    
    title = doc.add_heading('this is title', 1)    # 添加 word 文件的 title 标题
    title.add_run('\n - 测试版本')      # 针对 title 标题进行内容追加(换行)
    
    para = doc.add_paragraph('这是 \"test.docx\" 文件的第一行段落')
    para.add_run('\n这是 \"test.docx\" 文件追加的的第二行段落')
    
    doc.save('test.docx')
    

    运行结果如下:



    🐳 添加图片

    使用方法:

    image_obj = document_obj.add_picture(图片地址, 宽, 高) 通过 Document 对象调用 add_picture 函数 返回 图片对象


    宽高定义:

    from docx.shared import Inches

    add_picture(x, width=Inches(5), height=Inches(5))

    代码示例如下:

    # coding:utf-8
    
    
    from docx import Document
    from docx.shared import Inches
    
    
    doc = Document()
    
    title = doc.add_heading('this is title', 1)    # 添加 word 文件的 title 标题
    title.add_run('\n - 测试版本')      # 针对 title 标题进行内容追加(换行)
    
    para = doc.add_paragraph('这是 \"test.docx\" 文件的第一行段落')
    para.add_run('\n这是 \"test.docx\" 文件追加的的第二行段落')
    
    image = doc.add_picture('test_image.png', width=Inches(3), height=Inches(1.5))
    
    doc.save('test.docx')
    

    运行结果如下:



    🐳 添加表格

    使用方法:

    table_obj = document_obj.add_table(row=行数, cols=列数) 通过 Document 对象调用 add_table 函数 返回 表格对象

    cell = table_obj.row[0].cells 表格对象调用 rows 返回表格的行对象

    cell[0].text = 当前行 0 列的内容

    cell[1].text = 当前行 1 列的内容


    表格追加:

    row_cell = table.add_row().cells

    代码示例如下:

    # coding:utf-8
    
    
    from docx import Document
    from docx.shared import Inches
    
    
    doc = Document()
    
    title = doc.add_heading('this is title', 1)    # 添加 word 文件的 title 标题
    title.add_run('\n - 测试版本')      # 针对 title 标题进行内容追加(换行)
    
    para = doc.add_paragraph('这是 \"test.docx\" 文件的第一行段落')
    para.add_run('\n这是 \"test.docx\" 文件追加的的第二行段落')
    
    image = doc.add_picture('test_image.png', width=Inches(3), height=Inches(1.5))
    
    table_title = ['name', 'age', 'sex']
    table = doc.add_table(rows=1, cols=3)
    table_cells = table.rows[0].cells
    table_cells[0].text = table_title[0]
    table_cells[1].text = table_title[1]
    table_cells[2].text = table_title[2]
    
    data = [
        ('Neo', '18', 'man'),
        ('Adem', '17', 'man'),
        ('Lily', '18', 'women')
    ]
    
    for i in data:
        row_cells = table.add_row().cells
        row_cells[0].text = i[0]
        row_cells[1].text = i[1]
        row_cells[2].text = i[2]
    
    doc.save('test.docx')
    

    运行结果如下:



    🐳 分页

    使用方法:

    document_obj.add_page_break()

    代码示例如下:

    # coding:utf-8
    
    
    from docx import Document
    from docx.shared import Inches
    
    
    doc = Document()
    
    title = doc.add_heading('this is title', 1)    # 添加 word 文件的 title 标题
    title.add_run('\n - 测试版本')      # 针对 title 标题进行内容追加(换行)
    
    para = doc.add_paragraph('这是 \"test.docx\" 文件的第一行段落')
    para.add_run('\n这是 \"test.docx\" 文件追加的的第二行段落')
    
    image = doc.add_picture('test_image.png', width=Inches(3), height=Inches(1.5))      # 添加图片
    
    table_title = ['name', 'age', 'sex']    # 定义表格的第一行的标题
    table = doc.add_table(rows=1, cols=3)   # 定义表格的行数、列数
    table_cells = table.rows[0].cells       # 将 table_title 的每列的名称写入表格
    table_cells[0].text = table_title[0]
    table_cells[1].text = table_title[1]
    table_cells[2].text = table_title[2]
    
    data = [            # 定义 data 的内容,准备将其追加写入表格
        ('Neo', '18', 'man'),
        ('Adem', '17', 'man'),
        ('Lily', '18', 'women')
    ]
    
    for i in data:      # 利用 for 循环将 data 追加写入表格
        row_cells = table.add_row().cells
        row_cells[0].text = i[0]
        row_cells[1].text = i[1]
        row_cells[2].text = i[2]
    
    doc.add_page_break()        # 添加 word 文件的分页
    title = doc.add_heading('this is page_2 title', 1)    # 添加 word 文件的第二分页的 title 标题
    
    doc.save('test.docx')
    

    运行结果如下:



    展开全文
  • 本小节主要演示了怎么向Word文档中创建表格并插入数据,并且对表格格式做个性化的设定。

    一、专题内容简介

    本小节主要演示了怎么向Word文档中创建表格并插入数据,并且对表格格式做个性化的设定。

    二、专题案例效果

    在这里插入图片描述

    三、专题内容

    3.1 创建表格并赋值

    在使用Python-docx包对表格进行数据的录入,通常采用如下几种方式。

    表格中单元格的值有两种赋值方式,一种是直接为cell.text属性赋值来实现,另外一种是通过获取或者添加单元格中的段落,然后使用段落中的text属性赋值实现.

    • 创建表格的基本语法:

    默认的表格是没有边框的

    table = document.add_table(1, 
    展开全文
  • C# 自动生成word

    2017-10-13 11:52:59
    C# 生成word文档,包括页眉,页码,表格、图片、字体等的编辑
  • 注:本库仅支持生成Word2007以后版本的文档类型,即扩展名为.docx 的。 下面分步介绍其基本使用方法: 步骤一: from docx import Document doc = Document() #以默认模板建立文档对象 doc = Document('a.d
  • word按标题自动生成序号

    千次阅读 2022-02-14 09:42:29
    word按标题自动生成序号@TOC 1、按标题色设置文档格式; 2、导航显示,是在“视图”导航窗体上面显示; 3、选择自动生成序号的格式; 4、选中后,自动可自动自动添加序号; 5、设置序号生成规则;可点击“自定义...
  • TP5利用phpforword生成word表格文档2019-12-185731.首先用composer安装下载 phpoffice/phpforwordcomposerrequirephpoffice/phpword2.在controller里引用usePhpOffice\PhpWord\IOFactory;usePhpOffice\...
  • 本文实例为大家分享了C#根据Word模版生成Word文的具体代码,供大家参考,具体内容如下1、指定的word模版2、生成word类添加com Microsoft word 11.0 Object Library 引用using System;using System.Collections....
  • SpringBoot+Poi-tl根据Word模板动态生成含动态表格word文档。 Poi-tl官方文档:http://deepoove.com/poi-tl/ 实现过程 1.添加必要依赖 <!-- word导出 --> <!-- poi-tl是基于Apache POI的Word模板引擎。...
  • 如果不设置列宽自适应,生成表格可能是这个样子的 设置之后是这样的,格式会好看些 4 关于poi-tl 此组件的使用方式在这里不在赘述。详见官方文档,介绍的很详细。 5 完整代码 package io.rong.example.word; ...
  • 生成文件: 完整代码: import jinja2 from docxtpl import DocxTemplate from docxtpl import InlineImage from docx.shared import Mm, Inches, Pt tpl = DocxTemplate('template.docx') context = {'user_name'...
  • 本工具基于Excel表格信息实现标准化word文档的一键生成,支持在段落中插入文字、插入图片和在表格中插入文字。 对于不懂编程的人,只要弄清Excel表格的填写,便可以修改成适合自己工作场景的办公小助手,比如制作...
  • Word-PPT文档内容批量提取工具能快速把多个Word文件(.doc)或PowerPoint(.ppt)幻灯片文档中指定页码范围、或指定字数的内容提取出来保存到同名文本文件中, 可用于自动生成Word或PPT文档摘要
  • Java中使用freemarker导出word文档 循环生成表格并且表格每行中都自动插入图片 就好像下面的效果,晚上很多例子都是单图片或者每个图片都是分开的,不是循环赋值的, 像下面的效果 ![图片说明]...
  • 我们这里有一个 Excel 数据表,那么如何根据这个数据表批量地生成 Word 文件呢?有一种方法就是我们常见的邮件合并,但是邮件合并的操作步骤太复杂了,我们不想使用邮件合并去批量生成 Word 文件。 邮件合并这个...
  • 本文主要是讲如何根据简单的xlsx数据,生成word数据报告,首先需要先读取与分析xlsx中的数据,通过排序等等方式固定好分析哪些方面,然后来编写对应的代码,对应的示例xlsx文件如下: 1. 完成xlsx数据读取 我们在读取...
  • 生成Word文档.7z

    2020-05-03 22:45:46
    可以从数据库中提取内容,用程序自动生成word文档,可用来制作数据分析、数据总结文档、统计报表等。能否再改进成一个自动文章生成器?强人可以提供思路。
  • Java操作Word生成动态表格 1.需要spire.doc的jar包...操作生成表格: //创建Document对象 Document doc = new Document(); Section sec = doc.addSection(); //添加段落 Paragraph paragraph = sec.addParagrap
  • 本文简单介绍如何在ThinkPHP3.2中使用PHPWord根据表格内容,动态生成多行表格。 有关在ThinkPHP3.2中使用PHPWord,可以参考“thinkphp3.2集成phpword,生成word文档并下载”这篇文章。实际开发中会遇到表格有多少行...
  • 根据Word表格自动生成SQL数据库脚本的VBScript代码,用法请参见本人个人网站:http://www.hugesoft.net/。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,070
精华内容 11,628
热门标签
关键字:

word根据内容自动生成表格

友情链接: usb-mx2.rar