使用 IRONXL FOR PYTHON

如何用 Python 从 Excel 数据生成 Word 文档

发布 2024年十二月15日
分享:

介绍

使用 Excel 电子表格生成 Word 模板Python在各种专业和个人语境中,".NET"、"Java"、"Python "或 "Node js "提供的众多优势可以显著提高效率、准确性和表达能力。 通过利用自动化、定制化和数据完整性,专业人员可以确保他们的 Word 文档成为有效的交流工具,清晰准确地传达基本信息。 其中一个库可以转换微软ExcelMicrosoft WordIronXL的 Python 软件包铁软件python-docx图书馆

本文将探讨从 Excel 文件生成 Word 文档所需的步骤。

如何用 Python 从 Excel 数据生成 Word 文档

  1. 创建一个名为 excelToWord.py 的 Python 文件。

  2. 添加 IronXL 和 python-docx 软件包。

  3. 在项目文件夹中创建或添加 Excel 文件。

  4. 使用 IronXL.Excel 阅读 Excel 文档。

  5. 使用 python-docx 创建 Word 文档并插入 Excel 数据。

什么是IronXL?

IronXL for Python是 Iron Software 开发的一个强大的库,允许开发人员创建、读取和编辑 Excel 文件(XLS、XLSX 和 CSV)在 Python 项目中。 以下是使用 IronXL 的一些主要功能和优势:

主要功能

  1. 无 Excel 依赖性:IronXL 不需要在服务器上安装 Microsoft Excel,因此非常适合没有 Excel 的服务器环境。

  2. 直观的 API:IronXL.Excel 为处理 Excel 文件提供了自然直观的 API,使其易于集成到您的 Python 项目中。

  3. 支持多种格式:IronXL.Excel 支持多种 Excel 文件格式,包括 XLS、XLSX、CSV 和 TSV。

  4. 单元格样式:您可以为单元格设计不同的字体、大小、背景、边框和数字格式。

  5. 公式处理:IronXL.Excel 可以处理 Excel 公式,并在编辑工作表时重新计算这些公式。

  6. 跨平台兼容性:IronXL 可在 Windows、macOS、Linux、Docker、Azure 和 AWS 上运行。

什么是 python-docx

python-docx是一个Python库,可以创建、修改和处理微软Word文档,如`.docx`文件。 它提供了与 Word 文档交互的简单 API,允许您执行添加文本、格式化、插入表格和图像等任务。

主要功能

1.创建文档

您可以从头开始生成 Word 文档并添加内容,包括段落、表格、标题等。 此软件包还可用于编辑单个文档。

2.文本处理

添加和修改文本段落。 文本格式(例如,粗体、斜体、下划线等。)使用 "运行(段落中具有不同风格的文本部分). 添加各级标题并使其风格化。

3.添加表格

创建具有指定行数和列数的表格。 访问和修改表格中的单个单元格。

4.列表

使用预定义样式创建带项目符号或编号的列表。

5.使用样式

应用 "标题 1"、"正常 "等预定义样式。您还可以为段落或文本定义和应用自定义样式。

6.插入图片

在文档的特定位置插入图片。 您可以通过指定宽度和高度来调整图片大小。

先决条件

在我们深入研究代码之前,请确保您具备以下先决条件:

  1. 已安装 Python:确保您的计算机上安装了 Python。您可以从官方 Python网站.

  2. IronXL 已安装:您需要安装 IronXL 软件包。 您可以使用 pip 来完成这项工作。

  3. python-docx 已安装:您需要安装 python-docx 软件包。 您可以使用 pip 来完成这项工作。

  4. Excel 文件:创建一个包含数据的 Excel 示例文件。

第 1 步:创建一个名为 excelToWord.py 的 Python 文件

打开您最喜欢的集成开发环境(如 Visual Studio Code),创建一个名为 excelToWord.py 的文件

如何用 Python 从 Excel 数据生成 Word 文档:图 1 - Excel 文档生成

第 2 步:添加 IronXL 软件包

使用 Pip 安装 IronXL 和 python-docx 软件包。

pip install IronXL python-docx

第 3 步:在项目文件夹中创建或添加 Excel 文件

将 Excel 示例文件复制到代码文件夹。 文件包含以下数据。

如何用 Python 从 Excel 数据生成 Word 文档:图 2 - Excel 示例

第 4 步:使用 IronXL.Excel 阅读 Excel 文档

使用 IronXL 加载 Excel 文档,并使用以下代码读取所有单元格。

import ironxl
from docx import Document
ironxl.License.LicenseKey = "your license"
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]
# read data from excel
data = []
# Iterate through rows and columns in the Excel sheet
for row in range(0, len(sheet.Rows)):
    row_data = []
    for col in range(0, len(sheet.Columns)):
        cell_value = sheet.GetCellAt(row, col)
        print(cell_value)
        row_data.append(cell_value)
    data.append(row_data)
PYTHON

步骤 5:使用 python-docx 创建 Word 文档并插入 Excel 数据

Word 文档的生成过程包括从以前的 Excel 数据读取创建 Word 文档。

doc = Document()
# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)  # Add header cells
for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)
doc.save("sample.docx")
PYTHON

生成 Word 文档的完整代码在这里。

# Word documents from Excel data
import ironxl
from docx import Document
ironxl.License.LicenseKey = "your license"
workbook = ironxl.WorkBook.Load("sample.xlsx")
sheet = workbook.WorkSheets[0]
# read data from excel
data = []
# Iterate through rows and columns in the Excel sheet
for row in range(0, len(sheet.Rows)):
    row_data = []
    for col in range(0, len(sheet.Columns)):
        cell_value = sheet.GetCellAt(row, col)
        print(cell_value)
        row_data.append(cell_value)
    data.append(row_data)
# document generation process
doc = Document()
# Add a title to the Word document
doc.add_heading('Excel Data Export Using Python Docx', 0)
table = doc.add_table(rows=1, cols=len(data[0]))
hdr_cells = table.rows[0].cells
for i, header in enumerate(data[0]):
    hdr_cells[i].text = str(header)  # Add header cells
for row in data[1:]:
    row_cells = table.add_row().cells
    for i, cell in enumerate(row):
        row_cells[i].text = str(cell)
doc.save("sample.docx") # save as Microsoft Word document
PYTHON

代码解释

该 Python 脚本主要执行两项任务。

1. *使用 IronXL.Excel 从 Excel 文件读取数据

  • 脚本首先设置了IronXL库的许可证,该库用于在 Python 中处理 Excel 文件。
  • 然后加载 Excel 文件(sample.xlsx)并从文件中选择第一个工作表。
  • 脚本从工作表中读取数据,遍历所有行和列。 它收集二维列表中每个单元格的值(数据)在此情况下,Excel 表中的每一行都对应数据中的一个子列表。
  • 单元格的值会在读取时打印到控制台。

2. 使用 python-docx 创建 Word 文档

  • 使用 python-docx 库创建一个新的 Word 文档。
  • 脚本添加了标题("使用 Python Docx 进行 Excel 数据导出)在文档顶部使用标题。
  • 然后在文档中创建一个表格,表格的第一行包含 Excel 表第一行的标题,随后的行包含 Excel 文件中的相应数据。
  • 最后,Word 文档保存为 sample.docx。

    脚本从 Excel 文件中读取数据(sample.xlsx)在翻译过程中,翻译人员必须确保翻译的准确性,同时解释这些开发人员工具的功能和优点。(sample.docx). Excel 表的第一行用作表头,Excel 表中的每一行数据都作为表格中的一行添加到 Word 文档中。

输出

如何用 Python 从 Excel 数据生成 Word 文档:图 3 - Excel 到 Word

文字文件

如何用 Python 从 Excel 数据生成 Word 文档:图 4 - Word 文档格式

IronXL 许可证(可试用)

IronXL 在代码所附的有效许可证文件上工作。 用户可以很容易地从许可证页面.

要使用许可证,请在使用 IronXL 库之前,将许可证如下放在代码中的某处。

ironxl.License.LicenseKey = "Your License Key"
PYTHON

结论

示例代码演示了使用IronXLExcel文件读取数据,然后使用python-docx将数据导出到Word文档的有效方法。 翻译过程包括两个主要步骤:

  1. 从 Excel 中提取数据:脚本加载 Excel 文件并从其第一个工作表中提取数据。 它可以遍历行和列,将单元格值收集到一个列表中,便于操作或保存。

  2. 创建和填充 Word 文档:脚本使用 python-docx 库创建一个新的 Word 文档,添加标题,并将提取的 Excel 数据格式化为 Word 文档中的表格。 它能自动将 Excel 数据的第一行作为标题,将其余行作为表格数据。

    这种方法可以实现从 Excel 到 Word 的无缝数据传输,对于报告生成、数据导出或文档自动化等任务非常有用。 用于 Excel 处理的 IronXL 和用于 Word 文档创建的 python-docx 的组合为在 Python 中处理这些文件格式提供了强大的解决方案。

< 前一页
如何用 Python 创建 Excel 文件
下一步 >
如何用 Python 从 Excel 文件中删除工作表