背景需求:
制作了校历单后,第二个要制作的就是点名册(灰色版)
【办公类-54-03】20240828班级点名册模版(双休国定假涂成灰色)2024学年第一学期_姓名周一到周五的点名册怎么画-CSDN博客文章浏览阅读2.1k次,点赞24次,收藏4次。【办公类-54-03】20240828班级点名册模版(双休国定假涂成灰色)2024学年第一学期_姓名周一到周五的点名册怎么画https://blog.csdn.net/reasonsummer/article/details/141687789?spm=1011.2415.3001.5331【办公类-54-04】20250210班级点名册模版(双休国定假涂成灰色)2024学年第二学期,读取上学期名单-CSDN博客文章浏览阅读1k次,点赞39次,收藏9次。【办公类-54-04】20250210班级点名册模版(双休国定假涂成灰色)2024学年第二学期,读取上学期名单
https://blog.csdn.net/reasonsummer/article/details/145583809?spm=1011.2415.3001.5331
把原来的内容复制一份,重新做
模版里面都是空的,标签和题目都放着,会改成新的年月和学期
在线编辑填写更新后的名册
更改代码
根据2025年第一学期的校历更改白色地方的数字(只要是白色=休息,就把相应日的数字写上)
代码展示
本代码用deepseek重新优化过
1、原来做了两个excle模版,一个是本园、一个是姐妹园。,差别在与标题不同,如今在代码里直接加入的title的题目,只用一个模版就可以替换标题,不需要做两份
2、在生成EXCEL,再直接变成PDF(每个PDF有10页),便于教师直接单面打印(点名册每月财务要收集,计算管理费),也可以通过EXCEL修改名单(万一中途有插班生)
代码展示
'''
上学期点名册批量(灰色)
1、修改原始模版,更改年月、标题
2、读取所有的EXCEL,批量制作EXCEL多月
3、转成PDF,便于打印
deepseek、阿夏
20250702
'''
import openpyxl
from datetime import datetime, timedelta
import time, os
from openpyxl.styles import PatternFill
import win32com.client
def excel_to_pdf(input_file):
# 创建PDF输出路径
pdf_file = os.path.splitext(input_file)[0] + '.pdf'
# 使用win32com转换Excel到PDF
excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = False
try:
# 打开工作簿
wb = excel.Workbooks.Open(input_file)
# 设置打印属性
for ws in wb.Worksheets:
ws.PageSetup.Orientation = 1 # 1=横向, 2=纵向
ws.PageSetup.Zoom = False
ws.PageSetup.FitToPagesTall = 1
ws.PageSetup.FitToPagesWide = 1
ws.PageSetup.CenterHorizontally = True
ws.PageSetup.CenterVertically = True
ws.PageSetup.LeftMargin = excel.CentimetersToPoints(1)
ws.PageSetup.RightMargin = excel.CentimetersToPoints(1)
ws.PageSetup.TopMargi