在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
使用Python从Excel电子表格生成Word模板,能够在各种专业和个人环境中显著提高效率、准确性和展示效果。 通过利用自动化、定制化和数据完整性,专业人员可以确保他们的 Word 文档成为有效的交流工具,清晰准确地传达基本信息。 其中一个可以将Microsoft Excel转换为Microsoft Word的库是来自Iron Software的IronXL Python 包和python-docx库。
本文将探讨从 Excel 文件生成 Word 文档所需的步骤。
创建一个名为 excelToWord.py 的 Python 文件。
添加 IronXL 和 python-docx 软件包。
在项目文件夹中创建或添加 Excel 文件。
使用 IronXL.Excel 阅读 Excel 文档。
IronXL for Python 是由 Iron Software 开发的一个强大库,允许开发者在 Python 项目中创建、读取和编辑 Excel 文件(XLS、XLSX 和 CSV)。 以下是使用 IronXL 的一些主要功能和优势:
无需依赖 Excel: IronXL 无需在您的服务器上安装 Microsoft Excel,这使其在没有 Excel 的服务器环境中非常理想。
直观的 API:IronXL 提供用于处理 Excel 文件的自然且直观的 API,使其易于集成到您的 Python 项目中。
支持多种格式:IronXL 支持多种 Excel 文件格式,包括 XLS、XLSX、CSV 和 TSV。
单元格样式:您可以使用不同的字体、尺寸、背景、边框和数字格式来设置单元格样式。
公式处理:IronXL 能与 Excel 公式一起工作,并且每当编辑工作表时重新计算这些公式。
python-docx 是一个Python库,用于创建、修改和处理Microsoft Word文档,例如`.docx`文件。 它提供了与 Word 文档交互的简单 API,允许您执行添加文本、格式化、插入表格和图像等任务。
您可以从头开始生成 Word 文档并添加内容,包括段落、表格、标题等。 此软件包还可用于编辑单个文档。
添加和修改文本段落。 使用“运行”(段落中具有不同样式的文本部分)来格式化文本(例如,加粗、斜体、下划线等)。 添加各级标题并使其风格化。
创建具有指定行数和列数的表格。 访问和修改表格中的单个单元格。
使用预定义样式创建带项目符号或编号的列表。
应用 "标题 1"、"正常 "等预定义样式。您还可以为段落或文本定义和应用自定义样式。
在文档的特定位置插入图片。 您可以通过指定宽度和高度来调整图片大小。
在我们深入研究代码之前,请确保您具备以下先决条件:
已安装Python:确保您的计算机上已安装Python。您可以从Python的官方网站下载。
IronXL 已安装:您需要安装 IronXL 包。 您可以使用 pip 来完成这项工作。
已安装python-docx:您需要安装python-docx包。 您可以使用 pip 来完成这项工作。
打开您最喜欢的集成开发环境(如 Visual Studio Code),创建一个名为 excelToWord.py 的文件
使用 Pip 安装 IronXL 和 python-docx 软件包。
pip install IronXL python-docx
将 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)
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")
生成 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 脚本主要执行两项任务。
最后,Word 文档保存为 sample.docx。
该脚本读取Excel文件(sample.xlsx)中的数据,对其进行处理,并将数据导出到新Word文档(sample.docx)中的表格中。 Excel 表的第一行用作表头,Excel 表中的每一行数据都作为表格中的一行添加到 Word 文档中。
IronXL 在代码所附的有效许可证文件上工作。 用户可以轻松地从许可页面获取试用许可证。
要使用许可证,请在使用 IronXL 库之前,将许可证如下放在代码中的某处。
ironxl.License.LicenseKey = "Your License Key"
该示例代码演示了一种使用IronXL从Excel文件中读取数据并使用python-docx将这些数据导出到Word文档的有效方法。 翻译过程包括两个主要步骤:
从Excel中提取数据:脚本加载一个Excel文件并从其第一个工作表中提取数据。 它可以遍历行和列,将单元格值收集到一个列表中,便于操作或保存。
创建和填充Word文档:使用python-docx库,脚本创建一个新的Word文档,添加标题,并将提取的Excel数据格式化为Word文档中的表格。 它能自动将 Excel 数据的第一行作为标题,将其余行作为表格数据。
这种方法可以实现从 Excel 到 Word 的无缝数据传输,对于报告生成、数据导出或文档自动化等任务非常有用。 IronXL 处理 Excel 和 python-docx 对 Word 文档创建的结合为在 Python 中处理这些文件格式提供了一个强大的解决方案。