【办公类-91-01】20250214领导的“每周安排表”批量填写——数字“年月日”、文字“休息、节假日”
背景需求:20250214作为信息员,我会每周去区里的“信息平台”上报“教育教学”相关的通讯。因此领导在周五把每周的周计划安排表(docx)发我。因为之前做了校历、营养员的人数统计表、各班点名册、本班周计划教案。【办公类-53-04】20250209Python模仿制作2024学年第二学期校历-CSDN博客文章浏览阅读432次,点赞14次,收藏5次。【办公类-53-04】20250209Python模仿制作2024学年第二学期校历https://blog.csdn.net/reasonsummer/article/details/145537780?sharetype=blogdetailsharerId=145537780sharerefer=PCsharesource=reasonsummerspm=1011.2480.3001.8118【办公类-54-03】20250219营养员《每周人数统计表》(双休日、国定假日,变成灰色)-CSDN博客文章浏览阅读933次,点赞21次,收藏17次。【办公类-54-03】20250219营养员《每周人数统计表》(双休国定假涂成灰色)https://blog.csdn.net/reasonsummer/article/details/145577907?spm=1001.2014.3001.5501【办公类-54-04】20250210班级点名册模版(双休国定假涂成灰色)2024学年第二学期,读取上学期名单-CSDN博客文章浏览阅读848次,点赞32次,收藏9次。【办公类-54-04】20250210班级点名册模版(双休国定假涂成灰色)2024学年第二学期,读取上学期名单https://blog.csdn.net/reasonsummer/article/details/145583809?spm=1001.2014.3001.5501所以,我立刻从这份周安排里看到了“周次、起止月日、周一到周五、五天年月”运用营养员的7天思路,把每周安排里的日期都批量做好吧WORD模版把第一周的模版分析需要哪些数据:1、标题栏:周次、一周的周一(年月)、一周的周五(年月)2、侧边栏:一周的每天的日期(月、日)、星期(周一到周五)我觉得还是统一做一周7天的模版(如4月27日周日调休上班),同时双休日也有部分老师或领导也要干活(参加工会活动或者带孩子们参加OM比赛等)所以模版统一做成7天,星期一到日的汉字直接写模版里,标题日期统一写周一到周日的日期(年月日)对应的EXCLE标题制作''' 把领导的每周安排的模版的日期批量做好(1)——制作日期数字 如果有空格,全部要加一个空格,否则读取出来的年月日是一位小数浮点数 星火讯飞,阿夏 2025年2月14日 ''' # -*- coding: utf-8 -*- import datetime import openpyxl from openpyxl.styles import Alignment, PatternFill import time import pandas as pd import re from openpyxl import load_workbook # for path=r'C:\Users\jg2yXRZ\OneDrive\桌面\20250214领导的每周安排模板' # 1、制作基础日期表 title='2024学年第二学期校历' tt=path+fr"\02-01 {title}.xlsx" # 创建一个新的Excel工作簿 workbook = openpyxl.Workbook() sheet = workbook.active # 设置标题行 title_row = ["week", "D1", "D2", "D3", "D4", "D5", "D6", "D7"] sheet.append(title_row) # 设置日期范围 start_date = datetime.date(2025, 2, 17) end_date = datetime.date(2025, 6, 30) # 计算周数和日期 current_week = 1 current_day = start_date while current_day = end_date: # 获取当前周的第一天(星期一) week_start = current_day - datetime.timedelta(days=current_day.weekday()) # 如果当前日期是新的一周,添加新行并更新周数 if current_day == week_start: sheet.append([f"第{current_week:02d}周"]) current_week += 1 # 在正确的单元格中添加日期 column_index = current_day.weekday() + 2 # 从B列开始,所以加2year cell = sheet.cell(row=current_week, column=column_index) # 不同的表示方法 # cell.value = current_day.strftime("%Y-%m-%d") # 2024-09-01 # cell.value = current_day.strftime("%Y-%#m-%#d") # 2024-9-1 # cell.value = current_day.strftime("%m/%d") # 09-01 # cell.value = current_day.strftime("%#m/%#d") # 9-1 # cell.value = current_day.strftime('%Y{y}%m{m}%d{d}').format(y='年', m='月', d='日') # 2024年09月01日 cell.value = current_day.strftime('%Y{y}%#m{m}%#d{d}').format(y='年', m='月', d='日') # 2024年9月1日 cell.alignment = Alignment(horizontal='center', vertical='center') # 如果日期不等于周六和周日,就把这个单元格填充为浅黄色 if current_day.weekday() not in (5, 6): light_yellow_fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid") cell.fill = light_yellow_fill # 如果日期等于2024-09-14、2024-10-12、9月16日、9月17日、10月1日到10月8日、2025年1月1日,单元格填充为白色 special_dates = [datetime.date(2025, 4, 4), datetime.date(2025, 5, 1), datetime.date(2025, 5, 2), datetime.date(2025, 5, 5),datetime.date(2025, 6, 2)] # for i in range(1, 8): # special_dates.append(datetime.date(2024, 10, i)) # special_dates.append(datetime.date(2025, 1, 1)) if current_day in special_dates: white_fill = PatternFill(start_color="FFFFFF", end_color="FFFFFF", fill_type="solid") cell.fill = white_fill # # 如果日期等于2024-09-14或2024-10-12,单元格填充为黄色 # if current_day == datetime.date(2025, 4, 27) or current_day == datetime.date(2024, 9, 29) or current_day == datetime.date(2024, 10, 12): if current_day == datetime.date(2025, 4, 27): yellow_fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid") cell.fill = yellow_fill # 移动到下一天 current_day += datetime.timedelta(days=1) # 设置列宽 for col in range(1, 30): sheet.column_dimensions[openpyxl.utils.get_column_letter(col)].width = 15 # for col in range(9, 12): # sheet.column_dimensions[openpyxl.utils.get_column_letter(col)].width = 35 # 设置单元格文字居中 for row in sheet.iter_rows(): for cell in row: cell.alignment = openpyxl.styles.Alignment(horizontal='center', vertical='center') # 打印所有黄色底纹填充格子的坐标 yellow_coordinates = [] for row in sheet.iter_rows(): for cell in row: if cell.fill and cell.fill.start_color.rgb == 'FFFF00': yellow_coordinates.append((cell.row, cell.column)) print("Yellow filled cells coordinates:", yellow_coordinates) # 以下是拆分信息(提取第一天和最后一天) # # workbook.save(tt) # time.sleep(1) # # 读取第3列第二行开始的单元格文字,截取“年”前面的部分,写入第12列的第2行写入。同时在第12列的第1行写入“year” # # 示例数据 # # b = [3, 4,5] # # 加载已存在的Excel文件 # workbook = openpyxl.load_workbook(tt) # sheet = workbook.active n=1 # 读取标题中的信息 # 读取B列: for i in range(2, sheet.max_row + 1): cell_value = sheet.cell(row=i, column=2).value # for x in range(9,12): if cell_value: match = re.search(r'(\d+)年', cell_value) year_part = match.group(1) sheet.cell(row=i, column=9).value = year_part if cell_value: match = re.search(r'年(\d+)月', cell_value) month_part = match.group(1) sheet.cell(row=i, column=10).value = month_part if cell_value: match = re.search(r'月(\d+)日', cell_value) day_part = match.group(1) sheet.cell(row=i, column=11).value = day_part # 在第12列的第1行写入“year” sheet.cell(row=1, col

相关新闻

艾尔登法环帧率解锁保姆级上手指南:Elden Ring FPS Unlocker 从60帧到144Hz的完整调教路线

艾尔登法环帧率解锁保姆级上手指南:Elden Ring FPS Unlocker 从60帧到144Hz的完整调教路线

艾尔登法环帧率解锁保姆级上手指南:Elden Ring FPS Unlocker 从60帧到144Hz的完整调教路线 【免费下载链接】EldenRingFpsUnlockAndMore A small utility to remove frame rate limit, change FOV, add widescreen support and more for Elden Ring 项目地址: htt…

2026/10/29 6:51:40 阅读更多 →
QA处理训练数据常见的4种方法

QA处理训练数据常见的4种方法

大语言模型训练需要数万亿的各类型数据。如何构造海量“高质量”数据对于大语言模型的训练具有至关重要的作用。构造高质量的训练数据就是QA同学的头等大事,截止到目前,还没有非常好的大模型的理论分析和解释,也缺乏对语言模型训练数据的严格…

2026/10/28 4:41:54 阅读更多 →
Excel理财应用07-Excel 投资表怎么防错?数据验证+条件格式+保护三件套拦住 90% 低级事故

Excel理财应用07-Excel 投资表怎么防错?数据验证+条件格式+保护三件套拦住 90% 低级事故

本篇定位:Excel 投资系列第 07 篇。投资表里 90% 的事故不是"算错",而是"录错"——本文给你 3 件防错工具(数据验证 条件格式 工作表保护),把低级事故消灭在萌芽。 🔥 黄金 100 字开…

2026/10/25 15:43:22 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/28 23:48:14 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/29 8:45:01 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/29 9:52:56 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/28 22:10:30 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/29 9:51:34 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/29 8:44:28 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/29 17:01:10 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/29 9:42:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 19:25:09 阅读更多 →