from openpyxl import load_workbookfrom docxtpl import DocxTemplateimport osdef generate_docs_from_excel(excel_path, template_path, output_dir): # 创建输出目录 os.makedirs(output_dir, exist_ok=True) # 加载Excel和工作表 wb = load_workbook(excel_path) ws = wb.active # 处理标题行 headers = [cell.value for cell in ws[1]] # 逐行处理数据 for idx, row in enumerate(ws.iter_rows(min_row=2, values_only=True), start=1): # 构建数据字典(列名:值) row_data = dict(zip(headers, row)) # 生成Word文档 doc = DocxTemplate(template_path) doc.render(row_data) # 保存文件 output_path = os.path.join(output_dir, f"output_{idx}.docx") doc.save(output_path) print(f"生成文件: {output_path}")# 使用示例if __name__ == "__main__": generate_docs_from_excel( excel_path="input.xlsx", # 输入Excel路径 template_path="tpl.docx", # Word模板路径 output_dir="./" # 输出tpl.docx目录 )