默认情况下,Excel 使用列字母和行号来引用单元格和区域(例如,A1、B2:C5)。虽然这种方法是有效的,但在处理大型数据集或复杂公式时可能变得不方便。命名区域提供了解决此问题的方法,它允许用户为单元格或区域指定自定义名称,使其更容易识别、引用和处理。本文将介绍如何使用 Spire.XLS for Python 在 Python 中创建、编辑或删除 Excel 文档中的命名区域。
安装 Spire.XLS for Python
本教程需要 Spire.XLS for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.XLS
如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.XLS for Python
Python 在 Excel 中创建一个命名区域
您可以使用 Spire.XLS for Python 提供的 Workbook.NameRanges.Add() 方法向 Excel 工作簿添加命名区域。一旦添加了命名区域,您可以使用 INamedRange.RefersToRange 属性定义它所引用的单元格或单元格范围。以下是具体的步骤:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载一个 Excel 工作簿。
- 使用 Workbook.NameRanges.Add() 方法向工作簿添加命名区域。
- 使用 Workbook.Worksheets[] 属性获取工作簿中的特定工作表。
- 使用 INamedRange.RefersToRange 属性设置命名区域所引用的单元格范围。
- 使用 Workbook.SaveToFile() 方法保存生成的文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建一个新的工作簿对象
workbook = Workbook()
# 从现有的 Excel 文件加载工作簿
workbook.LoadFromFile("示例1.xlsx")
# 创建一个名为 "用户体验" 的命名区域
namedRange = workbook.NameRanges.Add("用户体验")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 将命名区域与工作表中的特定范围关联起来(此处范围为 C2:C7)
namedRange.RefersToRange = sheet.Range["C2:C7"]
# 将修改后的工作簿保存到新的 Excel 文件中,版本为 Excel 2016
workbook.SaveToFile("在Excel中创建一个命名区域.xlsx", ExcelVersion.Version2016)
# 释放工作簿资源
workbook.Dispose()
Python 在 Excel 中编辑现有的命名区域
在创建了命名区域之后,您可能希望修改其名称或调整所引用的单元格。以下步骤说明如何使用 Spire.XLS for Python 在 Excel 中修改现有命名区域的名称和单元格范围的引用:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载一个 Excel 工作簿。
- 使用 Workbook.NameRanges[] 属性获取工作簿中特定的命名区域。
- 使用 INamedRange.Name 属性修改命名区域的名称。
- 使用 INamedRange.RefersToRange 属性修改命名区域引用的单元格范围。
- 使用 Workbook.SaveToFile() 方法保存生成的文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建一个新的工作簿对象
workbook = Workbook()
# 从现有的 Excel 文件加载工作簿
workbook.LoadFromFile("示例2.xlsx")
# 获取第一个命名区域对象
namedRange = workbook.NameRanges[0]
# 修改命名区域的名称为 "用户体验评分"
namedRange.Name = "用户体验评分"
# 将命名区域与工作表中的特定范围关联起来(此处范围为 C3:C6)
namedRange.RefersToRange = workbook.Worksheets[0].Range["C3:C6"]
# 将修改后的工作簿保存到新的 Excel 文件中,版本为 Excel 2016
workbook.SaveToFile("在Excel中编辑现有的命名区域.xlsx", ExcelVersion.Version2016)
# 释放工作簿资源
workbook.Dispose()
Python 从 Excel 中删除一个命名区域
如果您对电子表格的结构或布局进行了重大更改,可能需要删除不再相关或准确的命名区域。以下步骤说明如何使用 Spire.XLS for Python 从 Excel 中删除命名区域:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载一个 Excel 工作簿。
- 使用 Workbook.NameRanges.RemoveAt() 或 Workbook.NameRanges.Remove() 方法按索引或名称移除特定的命名区域。
- 使用 Workbook.SaveToFile() 方法保存生成的文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建一个新的工作簿对象
workbook = Workbook()
# 从现有的 Excel 文件加载工作簿
workbook.LoadFromFile("示例2.xlsx")
# 移除第一个命名区域
workbook.NameRanges.RemoveAt(0)
# 或者使用名称来移除命名区域
# workbook.NameRanges.Remove("用户体验");
# 将修改后的工作簿保存到新的 Excel 文件中,版本为 Excel 2016
workbook.SaveToFile("从Excel中删除一个命名范围.xlsx", ExcelVersion.Version2016)
# 释放工作簿资源
workbook.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。