小编art*_*dge的帖子

使用 openpyxl 识别外部工作簿链接

我正在尝试使用 Python 3.4 中的 openpyxl 来识别包含外部工作簿引用的所有单元格。但我失败了。我的第一次尝试包括:

def find_external_value(cell):
# identifies an external link in a given cell

    if '.xls' in cell.value:
        has_external_reference = True

    return has_external_value
Run Code Online (Sandbox Code Playgroud)

但是,当我将具有外部值的单元格值打印到控制台时,它会产生以下结果:

=[1]Sheet1!$B$4
=[2]Sheet1!$B$4
Run Code Online (Sandbox Code Playgroud)

因此,openpyxl 显然不会以我想象的方式解析包含外部值的公式,并且由于方括号用于表格公式,因此尝试以这种方式获取外部链接是没有意义的。

我挖得更深一些,在 openpyxl.workbook.names.external 模块(参考)中找到了 detect_external_links 函数。我不知道是否真的可以调用这个函数来做我想做的事。

从控制台结果看来,openpyxl 似乎知道存在引用,并且似乎将它们包含在一系列列表中。但是可以访问此列表吗?或者检测是否存在这样的列表?

无论哪种方式 - 我只需要弄清楚单元格是否包含指向外部工作簿的链接。

python excel openpyxl

4
推荐指数
2
解决办法
2265
查看次数

标签 统计

excel ×1

openpyxl ×1

python ×1