格式也可以word格式"/>
在excel中做好活动进度矩阵,直接通过代码一键生成工作日报,可以md格式也可以word格式
import pandas as pd
from docx import Document
from docx.shared import Pt
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT# 读取Excel文件
excel_file = './工作日报.xlsx'
df = pd.read_excel(excel_file)# 创建Word文档
doc = Document()# 添加标题
doc.add_heading('工作日报', level=1)# 添加日期、部门和汇报人信息
doc.add_paragraph("日期: [日期]")
doc.add_paragraph("部门: [部门名称]")
doc.add_paragraph("汇报人: [您的姓名]")# 替换空单元格为自定义占位符
df = df.fillna('')# 创建今日计划和下期计划的两个空列表
today_plan = []
next_plan = []# 循环处理每一行数据
for index, row in df.iterrows():project_name = row['项目名称']follow_up = row['是否跟进']progress = row['进展情况']progress_details = row['进展说明']issues = row['问题和障碍']# 决定将工作项放在今日计划还是下期计划if follow_up.lower() == '是':plan_section = "今日计划"else:if progress.lower() == '进行中':plan_section = "下期计划 (下期跟进工作: {})".format(project_name)else:plan_section = "下期计划"# 根据计划分类将工作项添加到相应的列表if plan_section == "今日计划":today_plan.append(f"{index + 1}. {project_name}")else:next_plan.append(f"{index + 1}. {project_name}")# 添加每一项工作到文档并设置格式p = doc.add_paragraph(f"{index + 1}. {project_name} ({plan_section})")p.alignment = WD_PARAGRAPH_ALIGNMENT.LEFT # 设置左对齐# 使用字体样式设置文本格式run = p.runs[0]run.font.size = Pt(12)run.bold = True # 加粗文本run.add_text(f"\n工作内容: {project_name}\n是否跟进: {follow_up}\n进展情况: {progress}\n进展说明: {progress_details}\n问题和障碍: {issues}\n")# 在今日计划和下期计划之间添加分隔行
doc.add_paragraph('-----------------------------')# 添加今日计划
doc.add_heading('今日计划', level=2)
for item in today_plan:doc.add_paragraph(item)# 添加下期计划
doc.add_heading('下期计划', level=2)
for item in next_plan:doc.add_paragraph(item)# 在此添加其他事项和附加信息等部分# 保存生成的Word文档
doc.save(f'./每日日报/{today}工作日报.docx')
更多推荐
在excel中做好活动进度矩阵,直接通过代码一键生成工作日报,可以md格式也可以word格式
发布评论