默认情况下,excel 使用列字母和行号来引用单元格和区域(例如,a1、b2:c5)。虽然这种方法是有效的,但在处理大型数据集或复杂公式时可能变得不方便。命名区域提供了解决此问题的方法,它允许用户为单元格或区域指定自定义名称,使其更容易识别、引用和处理。本文将介绍如何使用 spire.xls for python 在 python 中创建、编辑或删除 excel 文档中的命名区域。
安装 spire.xls for python
本教程需要 spire.xls for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.xls
如果您不确定如何安装,请参考此教程: 如何在 vs code 中安装 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 天的临时许可证。