python execl表中的内容转换为word,并批量转换为pdf

python execl表中的内容自动填写到word模板,word批量转换为pdf

1.1需求

1.需求:1)批量制作学生成绩单,要从excel表格中将每个人的数据导入到docx成绩单中,重复量很大,因此可以使用python高效解决。2)将word批量转换为pdf。

2.渲染:为了让模板内容不变动,这里使用了类似jinja2的渲染引擎,使用{ { }}插值表达式把数据插入进去。也可以使用{% %}循环,条件语法等。(感兴趣可以自行查找)

3.模板

  • 成绩单模版.docx(在需要插值的位置填充 { {}} 表达式)

在这里插入图片描述

  • 成绩单表格模板.xlsx(原始数据)
    在这里插入图片描述

1.2实现execl表中的内容转换为word

1.2.1环境准备

环境准备

1模板
成绩单模版.docx(在需要插值的位置填充 {
   {
   }} 表达式)
成绩单表格模板.xlsx(原始数据)
2#操作xl表格的库
pip install docxtpl
#操作docx文档的库
pip install openpyxl

1.2.2Python代码

###程序功能说明:该功能是将excel里的数据向一个word模板里填充数据,并保存为一个word文档。

from docxtpl import DocxTemplate
from openpyxl import load_workbook
import os

def replace(obj):
    if obj is None:
        obj = ''
        return obj

#加载要填入的execl数据
# elxFile =r''
# wordFile = r''
# datapath = r''

wb = load_workbook("./成绩单表格模板.xlsx")
#选择Sheet
ws = wb['Sheet1']
#最大row行数
max_row=ws.max_row
#最大col列数
max_col=ws.max_column

contexts = []
#从第二行开始执行,最大次数为最大行数+1
for row in range(2, max_row + 1):
    #cell两个参数:行数,列数,按“A”列,“当前row行”返回值
    student_number = ws["A" + str(row)].value
    class_name = ws["B" + str(row)].value
    teacher = ws["C" + str(row)].value
    Chinese_name = ws["D" + 
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值