【办公类-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/8/16 14:55:08 阅读更多 →
QA处理训练数据常见的4种方法

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

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

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

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

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

2026/8/16 14:54:08 阅读更多 →

最新新闻

Windows任务栏又黑又丑?TranslucentTB透明化完整指南:4个高频痛点一次解决

Windows任务栏又黑又丑?TranslucentTB透明化完整指南:4个高频痛点一次解决

Windows任务栏又黑又丑?TranslucentTB透明化完整指南:4个高频痛点一次解决 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/Translucen…

2026/8/16 15:29:36 阅读更多 →
PinView输入动画揭秘:150ms缩放淡入效果是如何实现的?

PinView输入动画揭秘:150ms缩放淡入效果是如何实现的?

PinView输入动画揭秘:150ms缩放淡入效果是如何实现的? 【免费下载链接】PinView A PIN view library for Android. Use to enter PIN/OTP/password etc. 项目地址: https://gitcode.com/gh_mirrors/pin/PinView 用过 PinView 的朋友都知道&#x…

2026/8/16 15:29:36 阅读更多 →
Windows任务栏变透明只需3分钟:TranslucentTB免费完整指南

Windows任务栏变透明只需3分钟:TranslucentTB免费完整指南

Windows任务栏变透明只需3分钟:TranslucentTB免费完整指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 那天下班前&#x…

2026/8/16 15:29:36 阅读更多 →
BSDiff与HDiffPatch算法解析:GeneralUpdate差分引擎内部实现

BSDiff与HDiffPatch算法解析:GeneralUpdate差分引擎内部实现

BSDiff与HDiffPatch算法解析:GeneralUpdate差分引擎内部实现 【免费下载链接】GeneralUpdate Unlimited Updates, Boundless Upgrades. 项目地址: https://gitcode.com/gh_mirrors/ge/GeneralUpdate GeneralUpdate 是一款面向 .NET 生态的开源跨平台自动更新…

2026/8/16 15:29:36 阅读更多 →
深入拆解 Go 语言的垃圾回收机制与内存管理基石

深入拆解 Go 语言的垃圾回收机制与内存管理基石

深入拆解 Go 语言的垃圾回收机制与内存管理基石 在深入探讨 Go 语言的垃圾回收(Garbage Collection, GC)机制之前,我们需要先了解一些前置知识:Go 的内存是如何分配的?什么样的变量需要被垃圾回收?了解这些…

2026/8/16 15:29:36 阅读更多 →
从3小时到3分钟:开源FunClip智能视频剪辑工具实战指南

从3小时到3分钟:开源FunClip智能视频剪辑工具实战指南

从3小时到3分钟:开源FunClip智能视频剪辑工具实战指南 【免费下载链接】FunClip FunASR-powered video transcription, subtitle generation, and LLM-assisted clipping tool with a local Gradio UI. 项目地址: https://gitcode.com/GitHub_Trending/fu/FunClip…

2026/8/16 15:28:35 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →