如何使用 xlwings 获取 Excel 工作表中的所有命名范围?

How to get all named ranges in Excel worksheet with xlwings?

我正在使用 xlwings 读取命名范围的值,但是,为了获取名称范围列表,我在 Excel 中通过“使用公式”功能手动执行此操作,将它们粘贴到另一个工作表中然后我将其复制到我的 Python 程序中。

我没有在文档中找到执行此操作的方法?有没有办法动态地做到这一点?

使用名称集合,参见https://docs.xlwings.org/en/stable/api.html#names

import xlwings as xw

book = xw.Book(...)
for name in book.names:
    print(name.name, name.refers_to_range)

名称对象可以绑定到工作簿或 sheet。如果他们有 sheet 范围,您必须将 book.names 替换为 mysheet.names,其中 mysheet 是您的 sheet 对象。