使⽤docx_mailmerge库将access的数据批量定制⽣成word⽂档
⼀、数据源
1、word标准模板
2、access数据库(.mdb)
⼆、处理思路
1、读取access中的数据,提取出要写⼊word中的对应字段(若是中⽂字段名,建议重命名为字母);
2、使⽤word中的mergefield(合并字段)功能,在所需要写⼊数据的地⽅创建对应域;
3、使⽤docx_mailmerge、pypyodbc库对access中的数据进⾏提取、关联并批量写⼊新的word中。
3、代码如下:
# version:python3.7.0
# Character:UTF-8
# TIME:2019/7/9 11:52
# AUTHOR:LUO DI
import pypyodbc
from mailmerge import MailMerge
#读取模板
template = 'D://PYTHONPRACTICE//DATASOURCE//标准地籍调查表(7).docx'
#创建数据库链接,注意ACCESS的驱动问题
url = 'Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=D:\PYTHONPRACTICE\DATASOURCE\TRS.mdb'
conn = pypyodbc.win_connect_mdb(url)
cur = conn.cursor()
result = cur.fetchall()
# row = 0
# for i in result:
# document_new = MailMerge(template)
# # print('{}⽂档中,邮件合并的字段包含:{}'.format(template, _merge_fields()))
# str_list = list(map(str,i))
# data = (ZDDM = str_list[1],
# QLRMC = str_list[2],
# TFH = str_list[3],
# QLRLX = str_list[4],
# QLRZJLX = str_list[5],
# QLRZJH = str_list[6],
# QSXZ = str_list[7],
access数据库生成网页版# SYQLX = str_list[8],
# ZL = str_list[9],
# HH = str_list[10],
# SFYZHZ = str_list[11],
# ZMWJ = str_list[12],
# CQZH = str_list[13],
# ZDDH = str_list[14],
# PZYT = str_list[15],
# PZDLBM = str_list[16],
# SJYT = str_list[17],
# YTDLBM = str_list[18],
# PZNJ = str_list[19],
# ZDMJ = str_list[20],
# JZZDMJ = str_list[21],
# JZMJ = str_list[22],
# DCJS = str_list[23])
# row += 1
# document_new.write('D:\PYTHONPRACTICE\DATASOURCE\地籍调查报告-{}.docx'.format(row))
4、⽣成结果
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论