Eks6666 发表于 2024-6-26 23:31

python批量读取Excel数据写入word

from docx import Document
from docx.shared import Pt
from docx.enum.table import WD_TABLE_ALIGNMENT, WD_ROW_HEIGHT_RULE
import os

import pandas as pd
from docx import Document
from docx.oxml.ns import qn
from docx.shared import Pt
# ... 其他代码 ...
work_dir = 'path_to_your_excel_files'
excel_files = [f for f in os.listdir(
    work_dir) if f.endswith(('.xlsx', '.xls'))]

# 创建一个新的Word文档
doc = Document()
# 遍历所有Excel文件
for excel_file in excel_files:
    # ... 读取Excel文件并创建Word表格的代码 ...
    excel_path = os.path.join(work_dir, excel_file)
    # 读取Excel文件
    df = pd.read_excel(excel_path)
    # 将DataFrame转换为Word表格
    for _, row in df.iterrows():
      table = doc.add_table(rows=1, cols=len(row), style='Table Grid')
      # 添加行并设置单元格数据
      for i, value in enumerate(row):
            cell = table.cell(0, i)
            cell.text = str(value)
            # cell.vertical_alignment = 'center'# 垂直居中对齐

    # 设置表格样式
    table.alignment = WD_TABLE_ALIGNMENT.CENTER

    # 设置行高
    for row in table.rows:
      row.height_rule = WD_ROW_HEIGHT_RULE.EXACTLY
      row.height = Pt(20)

# 保存Word文档
# ... 保存文档的代码 ...
output_path = os.path.join(work_dir, 'CombinedTables.docx')
doc.save(output_path)
print(f"Word文档已保存至:{output_path}")

1e3e 发表于 2024-6-27 08:22

谢谢你的分享啊

hellopojie520 发表于 2024-8-22 18:29

pip install docx后出错,也有解决办法
#解决:ModuleNotFoundError: No module named ‘exceptions’
#经过查阅资料,发现是使用Python中读取doc和docx文件的时候,需要安装python-docx模块,而不是docx模块,这里安装成了docx模块。
#要解决这个错误,需要安装python-docx模块,卸载掉docx模块。pip uninstall docx
#安装python-docx模块的命令如下:pip install python-docx

dhsfb 发表于 2024-6-27 08:27

感谢楼主无私的分享。

xiaofu666 发表于 2024-6-27 08:44

感觉分享,应该是AI辅助写的吧

anorith 发表于 2024-6-27 08:58

感谢分享,用Python做一些小工具就是好

LuckyClover 发表于 2024-6-27 09:44

感谢分享啊,这个挺好用

14706461001 发表于 2024-6-27 13:34

点赞!!!!!!!!!111

O2H2O 发表于 2024-6-27 13:34

有用,有用!

kaci1129 发表于 2024-6-27 13:50

之前就打算写一个这个,但遇到难题了,感谢楼主分享

get001101101 发表于 2024-6-27 17:25

感谢啊 这个很有用
页: [1] 2 3 4
查看完整版本: python批量读取Excel数据写入word