把文件夹下所有的excle写入word文件中
from pathlib import Path, PurePath
from openpyxl import load_workbook
from docx import Document
p = Path('./')
files = [x for x in p.iterdir() if x.is_file() and PurePath(x).match('*.xlsx')]
doc = Document()for file in files:print(f'文件名={file.name}')wb = load_workbook(file)for sheet_name in wb.sheetnames:print(f"工作表名称: {sheet_name}")ws = wb[sheet_name]doc.add_heading(f"{file.name} - {sheet_name}", level=2)data = []for row in ws.iter_rows(values_only=True):if all(cell in (None, '') for cell in row):continuedata.append([str(cell) if cell is not None else '' for cell in row])if data:table = doc.add_table(rows=1, cols=len(data[0]))table.style = 'Table Grid'hdr_cells = table.rows[0].cellsfor idx, val in enumerate(data[0]):hdr_cells[idx].text = valfor row_data in data[1:]:row_cells = table.add_row().cellsfor idx, val in enumerate(row_data):row_cells[idx].text = valdoc.add_paragraph('') else:doc.add_paragraph('(此工作表为空)')
output_dir = Path('../word')
output_dir.mkdir(exist_ok=True, parents=True)
output_file = output_dir / 'merged.docx'
doc.save(output_file)print(f"已将所有 Excel 数据写入 Word 文件: {output_file}")