【办公类-54-07】20250901 2025学年第一学期班级点名册模版(双休国定假涂成灰色、修改标题和页眉,批量导出PDF)

发布于:2025-07-06 ⋅ 阅读:(19) ⋅ 点赞:(0)

背景需求:

制作了校历单后,第二个要制作的就是点名册(灰色版)

【办公类-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