如何使用IronXL在Python中读取Excel文件

查克尼特·宾
查克尼特·宾
2019年五月26日
更新 2024年十月20日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

本指南为Python开发者提供了如何使用IronXL库来读取和编辑Microsoft Excel文档的分步指导。

IronXL 是一个全面的 Excel 文件处理库,支持多种编程语言,包括 .NETPython 编程语言。 本教程专注于使用 Python 脚本中的 IronXL 来读取和编辑 Microsoft Excel 文档。

有关如何在 .NET 应用程序中读取和编辑 Microsoft Excel 文档的单独教程,请参阅以下链接

使用 IronXL for Python 软件库在 Python 中读取和创建 Excel 文件很容易。


概述


教程

步骤1:在您的Python项目中添加IronXL作为依赖项

要将IronXL库集成到您的Python项目中,您必须使用广泛使用的Python包管理工具pip将其作为依赖项安装。 打开终端并执行以下命令:

pip install IronXL

这将在您的项目中安装指定版本的IronXL,使其可供导入。

(IronXL for Python依赖于IronXL .NET库,特别是.NET 6.0,作为其底层技术。 因此,必须在您的计算机上安装.NET 6.0 SDK,以便使用IronXL for Python。


2. 加载一个Excel工作簿

WorkBook 类代表一个 Excel 表格。 要打开Excel文件,我们使用WorkBook.Load方法,指定Excel文件的路径。

# Load existing spreadsheet
workbook = WorkBook.Load("Spreadsheets\\GDP.xlsx")
PYTHON

每个WorkBook可以有多个WorkSheet对象。 每一个代表Excel文档中的一个单独的Excel工作表。 使用WorkBook.GetWorkSheet方法来获取特定Excel工作表的引用。

# Assuming workBook is an existing instance of WorkBook
workSheet = workBook.GetWorkSheet("GDPByCountry")
PYTHON

创建新的Excel文档

要创建一个新的 Excel 文档,构造一个新的WorkBook对象,并使用有效的文件类型。

# Create a new WorkBook with the specified Excel file format
workBook = WorkBook(ExcelFileFormat.XLSX)
PYTHON

注意:使用ExcelFileFormat.XLS来支持旧版本的Microsoft Excel(95及更早版本)。

向Excel文档添加工作表

如前所述,IronXL for Python WorkBook 包含一个或多个 WorkSheet 的集合。

这是一份包含两个工作表的工作簿在Excel中的样子。

这就是 Excel 中包含两个工作表的工作簿的样子。

要创建新的工作表,请调用WorkBook.CreateWorkSheet并传入工作表的名称。

workSheet = workBook.CreateWorkSheet("GDPByCountry")
PYTHON

3.访问单元格值

读取和编辑单个单元格

通过从其WorkSheet中检索所需的单元格,可以访问单个电子表格单元格的值,如下所示:

# Load existing spreadsheet
workbook = WorkBook.Load("test.xlsx")
worksheet = workbook.DefaultWorkSheet

# Access cell B1 in the worksheet
cell = worksheet["B1"]
PYTHON

IronXL for Python 的Cell类表示 Excel 电子表格中的单个单元格。 它包含属性和方法,使用户能够直接访问和修改单元格的值。

每个WorkSheet对象管理一个Cell对象索引,对应于 Excel 工作表中的每个单元格值。 在上述源代码中,我们使用标准数组索引语法通过其行和列索引(在本例中为单元格 B1)引用所需的单元格。

通过引用单元格对象,我们可以读取和写入电子表格单元格中的数据:

# Access cell B1 in the worksheet
cell = workSheet["B1"]

# Read the value of the cell as a string
value = cell.StringValue
print(value)

# Write a new value to the cell
cell.Value = "10.3289"
print(cell.StringValue)
PYTHON

读取和写入一系列单元格的值

Range 类表示一个二维的 Cell 对象集合。 此集合指的是Excel单元格的字面范围。 通过在WorkSheet对象上使用字符串索引器来获取范围。

参数文本可以是单个单元格的坐标(例如,之前所示的“A1”)或是从左到右从上到下的单元格范围(例如,“B2:E5”)。 也可以在WorkSheet上调用GetRange

# Access range D2:D101 in the worksheet
range_ = workSheet["D2:D101"]
PYTHON

向电子表格添加公式

使用Formula属性设置Cell的公式。

以下代码遍历每个状态,并在C列中放置百分比总计。

# Iterate through all rows with a value
for y in range(2, i):
    # Get the C cell
    cell = workSheet[f"C{y}"]
    # Set the formula for the Percentage of Total column
    cell.Formula = f"=B{y}/B{i}"
PYTHON

摘要

IronXL.Excel 是一个独立的 Python 库,用于读取多种电子表格格式。 它不需要安装Microsoft Excel,并且不依赖于Interop。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。