-
python-docx-template 数据渲染_python如何将数据渲染到docx文档指定位置
2020-12-11 04:01:58超简单Python将指定数据插入到docx模板渲染并生成最近有一个需求,制作劳动合同表,要从excel表格中将每个人的数据导入到docx劳动合同中,重复量很大,因此可以使用python高效解决。为了让模板内容不变动,这里使用...超简单Python将指定数据插入到docx模板渲染并生成
最近有一个需求,制作劳动合同表,要从excel表格中将每个人的数据导入到docx劳动合同中,重复量很大,因此可以使用python高效解决。为了让模板内容不变动,这里使用了类似jinja2的渲染引擎,使用{{ }}插值表达式把数据插入进去。也可以使用{% %}循环,条件语法等。
docx模板如下(在需要插值的位置填充 {{}} 表达式):
首先安装docxtpl$ pip install docxtpl
python代码如下:from docxtpl import DocxTemplate
tpl = DocxTemplate('劳动合同.docx')
#这些字段从csv中获取
context = {
"name": name,
"department": department,
"position": position,
"time": time,
"id": id_card,
"addr": addr,
}
tpl.render(context)
tpl.save("{}的劳动合同.docx".format(name))
运行后就可以在docx中看到效果,{{ field }}这里已经被context里面的字段替换了,非常简单!
-
xdocreport根据模板生成合同(docx/pdf)神器:(三)如何制作报告模板并根据它生成docx或者ppt
2019-06-15 23:55:20二、重点讲如何用FreeMaker语法设计docx的文档报告模板): 虽然可以采用word宏来定义变量设计文档报告模板,但我个人不建议,因为无法做一些高级功能(例如条件,复杂循环等)。 XdocReport提供一个XDocReport的...一、xdocReport支持的报告模板有三种:Docx格式,PPTX格式,ODT格式。
二、重点讲如何用FreeMaker语法设计docx的文档报告模板):
虽然可以采用word宏来定义变量设计文档报告模板,但我个人不建议,因为无法做一些高级功能(例如条件,复杂循环等)。
XdocReport提供一个XDocReport的工具,适用于采用word宏的定义法。
1.这里建议用word本身的"设计"类别上打开“字段对话框与字段”按纽,去设计文档报告模板,必须Mergefield来设置脚本(不能手工敲入,因为word会对打字内容进行编码),如下所示:
插入字段:
2. 在表中插处字段列表:
如果您希望从Java列表生成表,则必须使用FieldsMetadata将fiels名称标记为“list”(有关详细信息,请参阅此处。这里developers.Mail标记为列表,因此您可以直接在表中插入developers.Mail 单元格就像我们在下面做的简单字段(插入字段部分)。
3.段落中插入字段列表:将添加3个合并域(开如循环+体循环+结束循环)。
4.可以用json模拟数据和XdocReport工具来的预览模板最终的生成效果。
5.高级应用,循环表格行中的字段与模板引擎脚本。
6.条件支持:
- #if(对于Velocity。
- [ #if for Freemarker。
7.word中插入动态图片
8.word的页眉与页脚设置变量
三、web app如何应用XdocReport上下文java api:
-
java程序打包帮助文档.docx
2020-09-13 14:23:02PAGE / NUMPAGES java 程序打包帮助文档 常常在网上看到有人询问如何把 java 程序编译成 .exe 文件通常回答只有两种一种是制作一个可执行的 JAR 文件包然后就可以像.chm 文档一样双击运行了而另一种是使用 JET 来... -
docker制作java service镜像.docx
2020-07-23 10:41:30该文档介绍如何通过docker制作java应用镜像,将java程序运行在docker容器中。 -
Flash《水中倒影》的制作方法.docx
2020-11-07 08:59:07制作让一幅普通的图片变成酷炫的 具有水中倒影效果的动画 是每个动画爱好者的心愿 制作 方法有很多种今天本教程是教大家如何利用 FLASH MX来制作动感的水中倒影动画 好我们开始 打开FIashMX,按Ctrl+N新建一个文档 ... -
vivado2017.4制作zynq相关启动文件.docx
2019-10-18 15:55:34文档详细描述了如何一步一步制作zynq启动所需要的四个文件BOOT.bin,u-boot.elf,uImage,devicetree.dtb,文档配图不多,但是都是干货,验证过的,如有问题留言交流 -
表格html代码一览表.docx
2020-11-11 07:37:59NUMPAGES 表格HTML代码一览表 html特效代码 html表格制作 表格算不上什么特效但在空间却很有用处如果使用专门的工具制作一张表格是轻而易举的事但这类工具一下子不容易学会下面介绍html表格如何手工制作文档来自于... -
kali 如何使用word_如何使用word制作漂亮的表格
2020-12-28 10:15:28Hello,今天向大家简单介绍一下如何使用word制作出漂亮的表格!一、创建“DOCX”文档;二、准备一张漂亮的背景图片,然后如下图所示:点击“页面布局”选择“背景”,在弹出的窗口中点击“图片”后,继续点击“选择...Hello,今天向大家简单介绍一下如何使用word制作出漂亮的表格!
一、创建“DOCX”文档;
二、准备一张漂亮的背景图片,然后如下图所示:点击“页面布局”选择“背景”,在弹出的窗口中点击“图片”后,继续点击“选择图片”,然后选取我们提前准备好的背景图,如此便可将之置入文档。
三、背景图搞定后,接下来我们要插入表格,如下图所示:首先选择“插入”,再选择“表格”一项,插入表格。(表格行列数随意,稍后我们还会对其进行调整^_^)
四、表格初始边框颜色为黑色,且无填充色,为了让大家看得清楚一些,我将表格边框加粗,且增加了填充色,正好也可与大家一起分享一下如何修改表格边框与填充色。
如下图所示:首先选择“表格工具”,再点击下图“2”处的“表格属性”(也可直接在表格中单击右键选择),如此便会弹出一个属性窗口,接下来我们点击进入“边框和底纹”。
进入“边框和底纹”后,有三个选择项:“边框、页面边框、底纹”(sorry,图中又忘记给大家标注了 ^_^),我们首先选择"边框"选项,界面如下:其作用就是修改表格边框的“线型”、“颜色”还有“宽度”。
调整好表格边框后,我们再点击“底纹”选项,界面如下:此处我们可以修改表格的底纹(即填充色)
五、调整过表格的边框与底纹以后,我再顺便介绍一下现有表格的行列添加或删减。
如下图所示:凡有“+”标识的小按钮都是起添加作用,反之“-”则有删减作用。我们可根据实际所需的行列数量,单击“+”或“-”按钮,便可增减行列。
六、表格框架制作好后,我们便可进行文字输入。
下图所示:我以KTV会员价目表为例,输入了相应内容。
此段仅供新手参考,高手请忽略,^_^
在输入大标题时,我们可将整行表格框选(如下图所示,框选处颜色会有加深效果),框选表格后单击右键,则会弹出“合并单元格”选项,点击“合并单元格”,被框选的表格便会进行合并,即由N个小格变为一个大格。
七、文字输入完成以后呢,我们会发现还是有许多用不到的表格,此时,方才所讲的合并单元格的操作就起作用了!
我们可以将多余的无用表格与相临的有用表格进行合并,合并后的效果请见下图3处。(除了采用合并单元格的方式,我们还可以点击“表格工具”,选择“擦除”功能键,像橡皮擦一样把不需要的线条给它擦掉。)
另:如果我们的表格需要添加“斜线”分割时,我们可以选中要添加斜线的表格,继而如下图所示:点击“表格样式”,选择“绘制斜线表头”,挑选一款斜线样式,点击“确定”即可。
表格彻底调整完成以后,我们就可以对内容进行精修啦。
下图便是我简单将行列布局,文字的大小、字体与居中调整后的一个效果展示!喜欢的朋友就请给个赞吧!或是哪里不明白的朋友也可在评论留言,我必知无不言~
此号将会持续发布诸多关于WPS的小技巧,喜欢的朋友请点击关注,感谢啦!^_^
-
flash游戏设计开题报告.docx
2020-07-24 23:15:29flash游戏设计开题报告 很多学生在撰写论文的时候都在为开题报告头痛不已 不知道该如何下手撰写下面 xx就为大家整理收集了一篇 模板欢迎阅读参考本科生毕业论文开题报告论文题目 基于Flash的计算机文化基础 课件制作 ... -
人工智能电话机器人推广话术模板资料讲解.docx
2020-05-31 04:02:10精品文档 收集于网络如有侵权请联系管理员删除 人工智能电话机器人推广话术模板 最近很多客户都在使用人工智能电话机器人做电销发个简单的话术制作原理和大家分享一下觉得对指导如何购买AI电话机器人还是蛮有意义的... -
关于如何使用freemarker制作word模板并填充数据导出,spire文件类型转换
2021-01-21 22:19:52关于如何使用freemarker制作word模板并填充数据,然后使用spire导出自己想要的格式(svg、pdf、word) 首先你需要一份word文档(.docx),然后将需要替换的地方用${xxx}进行替换。例如下面这样 第二步,将自己...关于如何使用freemarker制作word模板并填充数据,然后使用spire导出自己想要的格式(svg、pdf、word)
-
首先你需要一份word文档(.docx),然后将需要替换的地方用${xxx}进行替换。例如下面这样
-
第二步,将自己做的模板另存为.xml。
-
用编译器打开(建议使用vscode)。打开之后是这种样式,很乱。建议将全文复制,到 https://tool.oschina.net/codeformat/xml 这个网址进行格式化
-
如果出现如下图这种情况,去掉上面的一整个<w:tr>即可
-
如果你有循环,(比如表格)你需要freemarker的一些循环语法,
上图中,<#list xskcList as t1> 就是将xskcList这个集合进行循环,变量是t1,里面的map集合可用${t1.xxx}取出(记住,所有的集合都应该是List<Map<String,Object>>这种类型) -
修改好了之后,再直接将文件后缀改成.ftl
-
好了,至此我们的模板创建成功,开始准备数据
-
这里我们制作一个以xsxm为数据的例子,其他都是一样的。(注意如果一个值为空,也必须注入一个向map集合中注入这个key-value。不然会报错)
Map<String,Object> xsJbxx = new HashMap<String, Object>();
if(StrUtil.isNotBlank(curriculum.getXm())) {
xsJbxx.put(“xsxm”,curriculum.getXm());
}else {
xsJbxx.put(“xsxm”," ");
}OutputStreamWriter write = null; Configuration configuration = new Configuration(); configuration.setDefaultEncoding("UTF-8"); // 设置编码 configuration.setClassForTemplateLoading(this.getClass(), "/"); //将你的模板放在resources目录下,这样就是读取到了你的模板 Template temp = configuration.getTemplate("ytjzwcjd.ftl"); ByteArrayOutputStream bs = new ByteArrayOutputStream(); write = new OutputStreamWriter(bs); //这个xsJbxx就是我们的map.写入OutputStreamWriter temp.process(xsJbxx, write); write.close();
10 模板对应的位置
11.Document doc = new Document(); ByteArrayInputStream buffer = new ByteArrayInputStream(bs.toByteArray()); doc.loadFromStream(buffer, FileFormat.Word_Xml); //转换成svg,会在d盘下生成1一个1.svg文件 doc.saveToSVG("D:\\1.svg"); //转换成pdf doc.saveToFile("D:\\1.svg", FileFormat.PDF); //如果你想生成一个io流 spire也是支持的。 ByteArrayOutputStream byteos = new ByteArrayOutputStream(); doc.saveToStream(byteos, FileFormat.PDF);
总结:我们使用freemarker,spire,将制作的模板生成文件,目前来看比较兼容,在模板里加入二维码,水印也是可以的。好了,这篇文章就说到这里,有问题可以私信我奥。
下期见!
-
-
学案一――Flash基础知识一与形状动画.docx
2020-09-11 06:45:44学案一 Flash 基础知识一与形状动画 1 Flash 界面组成舞台和各种面板 2 如何打开和关闭各种面板 3 文档属性的设置 4 工具栏部分项目的使用 5 动画的基本原理 6 关于关键帧与空白关键帧 7 动画的基本类型 过程一观看... -
数据可视化(三)批量生成word文档自动化
2020-04-06 21:50:48每个报表都手工制作一份文档实在是太痛苦了~~那么就请拿走这篇的代码吧!教你如何自动化批量生成文档! python-docx是python里的word支持库,可以用这个批量生成word文档。 二、函数及参数介绍 (1)初始化一个对象 ... -
如何用R来定制个性化PPT
2016-10-08 17:38:00如何用R来定制个性化PPT ReporteRs包可以创建word,ppt,html文档。它可以格式化R的输出:...本文演示的是如何用它来制作PPT文档。 入门 创建一个pptx对象 通过pptx函数创建的一个R对象可以表示一个PPT文档。它... -
JAVA使用POI-TL通过Word模板生成Word文件
2018-08-15 16:04:24用Java操作word文档,毫无疑问,当下最流行apache poi,对于poi如何操作word文档,这里不作过多介绍。 这里主要讲解如何通过一个制作好的word模板文件,通过数据填充,生成加工好的word文件。 官方网站 ... -
如何将Word文件批量转换成PDF
2019-07-04 11:48:29Doc和Docx格式的Word文件几乎天天和我们的工作打交道,但是为了避免随意被修改文档的内容,我们经常需要把word文件转换成pdf格式文件来存储。当然,制作pdf电子书啊什么的也很常见啦。Word转换成PDF格式最常见的办法... -
java如何解析word大纲_快速生成多个Word信息表!真的很实用!
2020-12-19 01:48:43有这样一份Excel的员工资料总表,需要根据资料总表制作成个人信息表:下面是需要生成的Word个人信息表:因为需要存档,必须将每个人的信息表单独保存成一个电子版的Word文档。比如:张三信息表.docx、李四信息表.... -
关于如何使用freemarker导出word(.doc)
2020-07-09 21:49:27首先你需要新建一个.docx文件,然后将需要替换的地方用${xxxxxx}代替,如下: 完成填充之后将此文档的后缀改成.ftl 至此我们的word模板已经做好了,将他静静的躺在那里,待会我们会用到它。 java代码中,将... -
按照apa6th格式复制_如何快速准确地排版一篇论文格式(方法适用于有一点word基础的学生)...
2021-01-03 05:54:09论文快速排版方法1、打开论文和格式要求文档,大致浏览论文个格式要求2、制作封面,把论文里面的封面信息,复制到格式要求里面封面模板里面3、查看格式要求里面的标题序号规则、图表序号规则、正文格式页眉页脚等等... -
python自动化办公之python操作PPT
2020-05-29 08:48:36基于此,我花了整整一周时间真理出来的python自动化文档手册,涉及到五个章节(如下图所示),① python使用openpyxl操作excel;② python使用PyPDF2和pdfplumber操作pdf;③ python使用python-docx操作word;④ ... -
PHP微信平台接口开发综合实战 超多视频教程+微信模板+威信营销策划方案PPT DOC等
2019-01-24 13:44:07├<微信营销策划集【39套文档PPT以及Word】> │ ├《城市画报》微信营销移动营销最新案例.docx │ ├20130506_松原_恒大御景湾_《微信公众平台》分享总结.ppt │ ├传驰(ccpower)微信营销新模式.ppt │ ├大粤网与...
-
基于电商业务的全链路数据中台落地方案(全渠道、全环节、全流程)
-
elementui表格的表头首次加载不显示的问题
-
【Python-随到随学】 FLask第一周
-
ffmpeg-windows.zip
-
1032
-
腰部达人带货能力更强?小红书直播销量、销售额全新上线!
-
Glasterfs 分布式网络文件系统
-
测试理论总结.xmind
-
2021年 系统分析师 系列课
-
NFS 实现高可用(DRBD + heartbeat)
-
Windows系统管理
-
程序员必修基础套餐课
-
MySQL Router 实现高可用、负载均衡、读写分离
-
可以播放flv封装的hevc/h265的flv安装包
-
react获取路由参数
-
程序员命名规则
-
mybatis-generator代码生成器
-
地方政府两会专题网页模板 div+css psd源文件
-
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.tar.gz.aa
-
ISO14229-2013 中文版.pdf