-
Excel批量产生excel或者word (单行或多行、多个sheet数据导入到一个word或者一个excel)
2020-02-11 15:44:15用VBA解决思路(以批量导入word作为例子) 1、设置word模板(标识要替换的位置) 2、设置excel原数据(找到替换的内容) 3、复制word模板,修改文件名,替换里边的内容 4、循环2和3步骤,工作...Excel批量产生excel或者word
(单行或多行、多个sheet数据导入到一个word或者一个excel)
本文只有单行批量生成word或者excel,多行的例子后续发布
用VBA解决思路(以批量导入word作为例子)
1、设置word模板(标识要替换的位置)
2、设置excel原数据(找到替换的内容)
3、复制word模板,修改文件名,替换里边的内容
4、循环2和3步骤,工作结束
下面是具体的操作
(后续用起来只要改一下模板和主数据第2列的内容,结束行,结束列,模板名称)
文档放同一目录下
学生登记表.docx就是word模板
打开如下图
1、设置word模板(标识要替换的位置)
制作模板,把该替换的地方写成相应的列名。比如 学生号码鱻,加上鱻避免重复(古代的鲜字xian。鱻这个字基本上不用,如果用了,可以尝试其他替换符号);学生编号:学生编号鱻;这次要替换学生编号鱻(2次,不管多少次,反正就是把学生编号鱻,替换成相应的内容)姓名鱻,还有其他替换的内容,其实就是手工替换类似,后续就是把手工替换自动化。
2、设置excel原数据(找到替换的内容)
在存放数据的表格中,把第2行作为一个替换的目标寻找列。
第二行内容,是关键性的,就是通过找第二行再去找相应的替换内容。
手工操作就是:比如现在要把excel第5行的数据生成一个word。第五行第3列的值是”5ABC”,要替换的内容是”学生编号鱻”;第五行的第4列的值是”李四”,要替换的内容是”姓名鱻”,以此类推,后续多列。
注意不要出现,父母鱻、祖父母鱻这样的包含列,祖父母鱻已经被父母鱻替换掉了,祖这个字变成多余,解决方法可以是父母鱻、祖父祖母鱻;反正就不能存在被包含关系。
模板和数据文件必须放在同一个文件夹,设置一下参数,
模板名称要对的上,关键是结束列和结束替换行
序号
名称
值
1
模板word文件名称
学生登记表.doc
2
模板excel文件名称
学生记录表.xlsx
3
开始生成行
4
4
结束生成行
40
5
结束替换列(开始列是第3列)
33
6
保存单个文档的文件夹名称
单个文档
7
8
3、设置完毕,点击生成多个word,就在当前文件夹下面新建一个单个文档的文件夹,里边有一个个的word文档。
-
Python将Excel数据自动填写到Word
2020-04-22 01:19:21需求:批量制作劳动合同表,要从excel表格中将每个人的数据导入到docx劳动合同中,重复量很大,因此可以使用python高效解决 渲染:为了让模板内容不变动,这里使用了类似jinja2的渲染引擎,使用{{ }}插值表达式把...Python将Excel数据自动填写到Word
需求
- 需求:批量制作劳动合同表,要从excel表格中将每个人的数据导入到docx劳动合同中,重复量很大,因此可以使用python高效解决
- 渲染:为了让模板内容不变动,这里使用了类似jinja2的渲染引擎,使用{{ }}插值表达式把数据插入进去。也可以使用{% %}循环,条件语法等。
- 模板
- 合同docx模板(在需要插值的位置填充 {{}} 表达式)
- 人员数据xlsx模板
实现
- 模板准备
合同模板.docx 人员数据模板.xlsx
- 库的引入
#操作xl表格的库 pip install docxtpl #操作docx文档的库 pip install openpyxl
- 代码:ContractFillTest.py
from docxtpl import DocxTemplate from openpyxl import load_workbook import os def replace(obj): if obj is None: obj = '' return obj wb = load_workbook("./人员数据模板.xlsx") ws = wb['Sheet1'] contexts = [] for row in range(2, ws.max_row + 1): name = ws["A" + str(row)].value profession = ws["B" + str(row)].value address = ws["C" + str(row)].value address = replace(address) sex = ws["D" + str(row)].value nation = ws["E" + str(row)].value politics_status = ws["F" + str(row)].value native_place = ws["G" + str(row)].value idcard = ws["H" + str(row)].value telphone = ws["I" + str(row)].value context = {"name": name, "profession": profession, "address": address, "sex": sex, "nation": nation, "politics_status": politics_status, "native_place": native_place, "idcard": idcard, "telphone": telphone} contexts.append(context) contexts os.mkdir("./所有合同") for context in contexts: print(context) tpl = DocxTemplate('./合同模板.docx') tpl.render(context) tpl.save("./所有合同/{}的劳动合同.docx".format(context["name"]))
3.效果
py文件打包成exe程序
- 说明:打包成exe文件的好处
- exe文件对于很多小白来说直接鼠标点击运行即可(不用装python环境)
- 下载pyinstaller
# 方式1:cmd命令行 pip install pyinstaller #方式2:或者采用更新、升级的方法 pip install --upgrade pyinstaller # 方式3: # 上面两种都失败的情况,即网络条件不好的情况,只能手动下载PyInstaller-3.6.tar.gz ,之后手动初始化 下载地址:https://pypi.org/project/PyInstaller/#files # 初始化 将PyInstaller-3.6.tar.gz放到Python安装目录下并解压, cd ./PyInstaller-3.6 python setup.py install 并按下回车键,会看到代码迅速执行,会进行安装pyinstaller,显示如下状态, 看到“Finished processing dependencies for PyInstaller==3.3.dev0+41c426f6d”,即安装成功:
- 使用pyinstaller打包py文件成exe程序
- 打包步骤
# 创建一个ContractFillTest目录 mkdir ContractFillTest # 进入目录 cd ContractFillTest # 将ContractFillTest.py放进去 #打包 pyinstaller -F ContractFillTest.py # 显示Building EXE from EXE-00.toc completed successfull即为成功
-
pyinstaller更多参数:
-F, –onefile 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
-D, –onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护
-K, –tk 在部署时包含 TCL/TK
-a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码.
-d, –debug 产生debug版本的可执行文件
-w,–windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
-c,–nowindowed,–console
使用控制台子系统执行(默认)(只对Windows有效) -
打包结构
-
打包结构1
-
进入dist可以看到ContractFillTest.exe文件(有点大10多M) ,再把合同模板.docx和人员数据模板…xlsx拷贝进来,点击执行
-
执行结果(所有合同目录下)
-
Python将Excel数据自动填充到Word指定位置中
2020-09-23 22:23:01需求:批量制作档案表,要从excel表格中将每个人的数据导入到docx档案中,重复量很大,因此可以使用python高效解决。 渲染:为了让模板内容不变动,这里使用了类似jinja2的渲染引擎,使用{{ }}插值表达式把数据插入...Python将Excel数据自动填写到Word
需求
- 需求:批量制作档案表,要从excel表格中将每个人的数据导入到docx档案中,重复量很大,因此可以使用python高效解决。
- 渲染:为了让模板内容不变动,这里使用了类似jinja2的渲染引擎,使用{{ }}插值表达式把数据插入进去。也可以使用{% %}循环,条件语法等。
- 模板
合同docx模板(在需要插值的位置填充 {{}} 表达式)
人员数据xlsx模板
实现
代码如下
from docxtpl import DocxTemplate from openpyxl import load_workbook import os def replace(obj): if obj is None: obj = '' return obj # 加载要填入的数据 wb = load_workbook(r"C:\Users\MSI2\data(1).xlsx") ws = wb['Sheet1'] contexts = [] for row in range(2, ws.max_row + 1): name = ws["A" + str(row)].value c_name = ws["B" + str(row)].value code = ws["C" + str(row)].value num = ws["D" + str(row)].value time = ws["E" + str(row)].value time = str(time)[:-9] money = ws["F" + str(row)].value address = ws["G" + str(row)].value replace_peo = ws["H" + str(row)].value context = {"name": name, "c_name": c_name, "code": code, "num": num, "time": time, "money": money, "address": address, "replace_peo": replace_peo} contexts.append(context) contexts # 创建要保存的文件夹 os.mkdir("./所有合同") for context in contexts: print(context) tpl = DocxTemplate(r"C:\Users\MSI2\A公司(1).docx") tpl.render(context) tpl.save("./所有合同/{}的劳动合同.docx".format(context["name"]))
效果
-
冠唐设备管理软件2.68完美破解版
2012-07-28 15:44:214, 支持用户现有Excel文件批量导入设备信息 5, 支持连续录入及相同设备快速重复录入 6,界面美观,使用快捷; 7,强大直观的交叉统计功能,帮助管理员完成任意格式的设备信息汇总; 8,强大的设备文档管 -
冠唐设备管理软件v2.80
2013-06-25 10:53:202, 支持Excel文件数据批量导入 3, 支持连续录入及相同设备快速重复录入 4, 用户直接基于Word,Excel设计自定义输出模板 5,表格“所见及所得”方式导出至Excel文件; 6,强大的自定义参数功能,更贴近不同用户... -
ASP.NET开发实战1200例(第2卷).(清华出版.房大伟.吕双).part1
2016-06-12 09:54:23本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用ASP.NET进行程序开发各个方面的知识和技巧,主要包括网站开发常备技术、前端技术应用开发、操作Office软件(Word/Excel)、... -
文件批处理百宝箱 v10.0.rar
2019-07-13 04:39:4918.在Excel文档批量处理功能模块的新增第7项功能,将汇总表中的数据提取后填充空白文档模板中特定的区域; 可用于制衣、制鞋等行业的文档处理需求; 19.在Excel文档批量处理功能模块的第一项中,新增多列首列功能... -
Visual C++开发实战1200例(第1卷).(清华出版.刘锐宁.梁水.李伟明).part1
2016-06-16 01:35:39实例015 设置批量注释 实例016 如何对齐零乱的代码 实例017 判断代码中的括号是否匹配 实例018 修改可执行文件中的资源 1.3 程序调试 实例019 创建调试程序 实例020 在Release版本中进行调试 实例021 在VC中... -
Visual C++开发实战1200例(第1卷).(清华出版.刘锐宁.梁水.李伟明).part2
2016-06-16 01:38:19实例015 设置批量注释 实例016 如何对齐零乱的代码 实例017 判断代码中的括号是否匹配 实例018 修改可执行文件中的资源 1.3 程序调试 实例019 创建调试程序 实例020 在Release版本中进行调试 实例021 在VC中... -
针式PinPKM-V201506(免费无使用限制)
2015-10-18 11:25:51批量导入:增加全部格式和指定格式的文件类型支持,及允许指定默认的分类 增加数据库的选项卡快速选择(分类树左侧) 知识点:增加关闭时,自动提示保存修改 知识点:增加打开时,Word文档初始显示比例为“最大的... -
针式PinPKM-V201502(免费无使用限制)
2015-10-18 11:24:30批量导入:增加全部格式和指定格式的文件类型支持,及允许指定默认的分类 增加数据库的选项卡快速选择(分类树左侧) 知识点:增加关闭时,自动提示保存修改 知识点:增加打开时,Word文档初始显示比例为“最大的... -
PinPKM-V201525(官网发布的最后一个免费无使用限制版本)
2015-11-08 09:58:08批量导入:增加全部格式和指定格式的文件类型支持,及允许指定默认的分类 增加数据库的选项卡快速选择(分类树左侧) 知识点:增加关闭时,自动提示保存修改 知识点:增加打开时,Word文档初始显示比例为“最大的... -
人力资源管理软件(完全免费)
2011-03-08 11:36:20培训记录支持批量导入(感谢丁桃) 工资单打印支持是否需要部门汇总数据选项(感谢zhlaoli) 工资报表增加分公司检索选项(感谢) 计件工资提供批量清除历史记录功能(感谢baidu) 人力资源管理软件员工关注体现分... -
桃源网络硬盘.Net v4.6.zip
2019-07-08 23:29:3049.导入用户功能,支持ACCESS或Excel中导出的TXT格式信息,分项目一次导入。 50.导出用户功能,可选择条件过滤导出,指定导出项目,导出成txt或Excel格式。 51.页面广告分区添加及管理和客户端广告管理。 -
DotNetTextBox V6.0.10 商业版 下载 (已知最新)
2016-10-10 22:50:061)去掉现在基本没法使用的插入EXCEL表格功能,改为无组件的导入EXCEL文档功能(测试中,导入excel文档必须符合数据库格式,否则导入数据将不全)。 2)更新编辑器的部分文字资源。 3)修正4号与5号字体大小一样的BUG! ... -
文件登记与管理系统2013(Ver 4.3.1.5)
2013-02-15 14:02:55文秘人员不用到档案室里或翻看陈旧的收文发文登记簿,可以随时查阅历史收发文记录,查询内容可以随时导入Excel,可以按照档案管理要求,随时编辑档案目录。 同时,本版本还支持文件批示、流转等记录功能,为文件... -
全弹性布局+小程序+智能APP门户内核-逐浪CMS2 x3.9.4发布
2018-04-18 08:46:29■扩展:增加导入辅助类,用于辅助Excel数据的导入 ■修改:域名归并与强制https,改为301跳转 ■扩展:增加微信带参二维码接口与相关事件处理 ■修复:有问必答--图片附件Bug ■修复:标签--新建数据表,链接错误 ■... -
桃源网络硬盘.Net v5.5.rar
2019-07-04 16:44:17导入用户功能,支持ACCESS或Excel中导出的TXT格式信息,分项目一次导入。 53.导出用户功能,可选择条件过滤导出,指定导出项目,导出成txt或Excel格式。 54.页面广告分区添加及管理和客户端广告管理。 55.随时在线... -
基于asp.net的网络硬盘
2009-05-14 12:09:3152.导入用户功能,支持ACCESS或Excel中导出的TXT格式信息,分项目一次导入。 53.导出用户功能,可选择条件过滤导出,指定导出项目,导出成txt或Excel格式。 54.页面广告分区添加及管理和客户端广告管理。 55.随时... -
桃源网络硬盘.Net v5.8.zip
2019-07-08 23:30:0252.导入用户功能,支持ACCESS或Excel中导出的TXT格式信息,分项目一次导入。 53.导出用户功能,可选择条件过滤导出,指定导出项目,导出成txt或Excel格式。 54.页面广告分区添加及管理和客户端广告管理。 55.... -
KesionCMS v9.5.140605 免费正式版本(utf-8).rar
2019-07-05 01:16:05系统支持栏目无限级分类,并可对系统栏目进行一级或N级栏目的排序操作,对栏目之间的内容进行复制(CTRL C),粘贴(CTRL V)操作,对栏目的内容进行合并,对栏目或文章进行批量的绑定模板或设置文章的属性,点击次数... -
KesionCMS v9.5.140605 免费正式版(gbk).rar
2019-07-05 01:15:43系统支持栏目无限级分类,并可对系统栏目进行一级或N级栏目的排序操作,对栏目之间的内容进行复制(CTRL C),粘贴(CTRL V)操作,对栏目的内容进行合并,对栏目或文章进行批量的绑定模板或设置文章的属性,点击次数... -
文章管理系统
2014-12-06 10:19:222.修复后台模板样式文件字符过滤不严存在入侵漏洞 3.修复后台登录验证没有清空验证码信息,导致增加暴力解密风险 4.修复通过后台文章编辑附件栏自定义内容可能导致删掉网站任意文件的BUG 5.修复后台服务器文件管理,... -
桃源网络硬盘v5.3SQL企业破解版.rar
2010-09-15 16:47:1652.导入用户功能,支持ACCESS或Excel中导出的TXT格式信息,分项目一次导入。 53.导出用户功能,可选择条件过滤导出,指定导出项目,导出成txt或Excel格式。 54.页面广告分区添加及管理和客户端广告管理。 55.随时... -
测试培训教材
2014-04-01 12:10:48项目管理员可以使用QC的Excel插件工具来执行需求的批量导入,进行导入之前请先确认已经访问过MQC主页,并安装了QCMSExcelAddin.exe插件。 插件下载地址: http://updates.merc-int.com/qual ... /msexcel/index.html... -
Access 2000数据库系统设计(PDF)---031
2006-02-23 15:31:041487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517.... -
Access 2000数据库系统设计(PDF)---016
2006-02-23 15:31:041487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517.... -
Access 2000数据库系统设计(PDF)---011
2006-02-23 15:31:041487.2.5 将字段数据类型转换为Access数据类型 1497.2.6 使用链接表管理器加载项重新链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 1517.... -
Access 2000数据库系统设计(PDF)---001
2006-02-23 15:31:041487.2.5 将字段数据类型转换为Access数据 类型 1497.2.6 使用链接表管理器加载项重新 链接表 1507.2.7 导入表和将数据库文件链接为表 1507.3 导入和链接电子数据表文件 1517.3.1 通过导入Excel工作表创建一个表 ... -
PowerPoint.2007宝典 8/10
2012-04-01 18:39:239.8 集成Excel单元格到PowerPoint中 185 9.9 小结 186 第2部分 使用图形和多媒体内容 第10章 绘制对象并设置其格式 189 10.1 使用绘图工具 189 10.1.1 关于矢量图形 189 10.1.2 绘制线条和形状 190 ...
-
HX8282-A_DS_Preliminary_v02.pdf
-
Windows系统管理
-
拼多多直播助手,拼多多直播互动神器,拼多多直播互动软件
-
HX8352-C_N__DS_Temporary_v01_100525.pdf
-
MySQL 管理利器 mysql-utilities
-
app软件测试全栈系列精品课程
-
2021-03-01
-
LVS + Keepalived 实现 MySQL 负载均衡与高可用
-
pandas读取文件报list index out of range
-
Mobile Drivers - Presentation Sept. 2006 for IDW.pdf
-
深究字符编码的奥秘,与乱码说再见
-
ST7735_V1.2_20090309[1].pdf
-
华为1+X——网络系统建设与运维(中级)
-
MySQL 高可用工具 DRBD 实战部署详解
-
MySQL 数据库权限管理(用户高级管理和精确访问控制)
-
HX8369-B_DS_temporary_v01.03_120202.pdf
-
MySQL NDB Cluster 负载均衡和高可用集群
-
MySQL 主从复制 Replication 详解(Linux 和 W
-
linux基础入门和项目实战部署系列课程
-
对PX4官方手册里mavros-offboard代码注释讲解的博文合集