写一个用Excel表格数据自动填充到Word的小程序
时间: 2024-12-18 11:34:29 浏览: 5
要创建一个使用Python自动化读取Excel数据并在Word文档中填充的小程序,我们可以使用两个主要库:`openpyxl`(用于处理Excel文件)和`python-docx`(用于操作Word文档)。以下是一个简单的示例,演示如何实现这个功能:
```python
from openpyxl import load_workbook
import docx
# 1. 加载Excel数据
def read_excel(file_path):
wb = load_workbook(filename=file_path)
ws = wb.active
data = []
for row in ws.iter_rows(values_only=True):
data.append(row)
return data
# 2. 创建或打开Word文档
def write_to_word(data, output_file):
doc = docx.Document()
# 添加标题和子标题,假设第一行是标题
title_row = data[0]
doc.add_heading(title_row[0], level=1) # 第一行作为一级标题
for i, item in enumerate(title_row[1:], start=2): # 后续行作为子标题
doc.add_paragraph(f"Subheading {i}: {item}")
# 将剩余数据添加为段落
for index, row in enumerate(data[1:], start=1):
for cell_index, cell_value in enumerate(row, start=1):
para = doc.add_paragraph(f"{cell_index}. {cell_value}")
para.style = 'Normal' # 设置默认样式
doc.save(output_file)
# 使用这些函数
input_excel_file = "your_excel_file.xlsx"
output_word_file = "output_word_document.docx"
data = read_excel(input_excel_file)
write_to_word(data, output_word_file)
```
在这个示例中,你需要替换`your_excel_file.xlsx`为你实际的Excel文件路径,并指定输出Word文档的名称。程序首先从Excel中读取数据,然后创建一个新的Word文档,根据Excel的数据插入标题、子标题以及段落。
阅读全文