Weekly Report Template Duplicator - 周报模板复制器

下面是周报模板复制/生成器代码:

## Weekly Report Generator ## ## By Alexander Ezharjan ## ### Configs ### template_file = 'template.docx' week_start = (2023, 6, 19) week_end = (2023, 6, 25) fin_date_tag = "number: YOUR_STAFF_ID)" # 落款时间标记 ############### import os import datetime from docx import Document import shutil num_copies = int(input("请输入复制文件的数量: ")) # 读取模板文件 template_doc = Document(template_file) # 定义新的起止时间和间隔时间 start_date = datetime.date(*week_start) end_date = datetime.date(*week_end) delta = datetime.timedelta(days=7) # 复制文件 for i in range(num_copies): # 构造新文件名 new_file = os.path.splitext(template_file)[0] + '_' + str(i+1) + '.docx' # 复制模板文件到新文件 # os.system('cp ' + template_file + ' ' + new_file) # on Linux shutil.copy(template_file, new_file) # on Windows # 打开新文件 new_doc = Document(new_file) new_end_date = datetime.date.today() # 修改时间范围 for paragraph in new_doc.paragraphs: if "–" in paragraph.text: date_range = paragraph.text.split('–') old_start_date = datetime.datetime.strptime(date_range[0].strip(), "%Y.%m.%d").date() old_end_date = datetime.datetime.strptime(date_range[1].strip(), "%Y.%m.%d").date() new_start_date = start_date + i * delta new_end_date = end_date + i * delta # date_range[0] = new_start_date.strftime("%Y.%m.%d") # with zero ahead of Month/Day<10 date_range[0] = new_start_date.strftime("%Y.%#m.%e").strip() date_range[1] = new_end_date.strftime("%Y.%#m.%e") paragraph.text = "–".join(date_range) # 修改撰写日 found_end = False for paragraph in new_doc.paragraphs: if found_end: paragraph.text = new_end_date.strftime("%Y.%#m.%d") paragraph.runs[-1].bold = True break if fin_date_tag in paragraph.text: found_end = True # 保存新文件 new_doc.save(new_file) print("文件已复制完成!")



作者:艾孜尔江


__EOF__

本文作者艾孜尔江
本文链接https://www.cnblogs.com/ezhar/p/17488362.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   艾孜尔江  阅读(42)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2021-06-17 指针常量与常量指针
点击右上角即可分享
微信分享提示