python - Excel 'LET' 函数无法使用 openpyxl

标签 python excel excel-formula openpyxl

我正在使用 Openpyxl 自动化一些流程,因为它是最广泛(也许是唯一)使用的支持 Excel 公式的库。
我在程序的公式中使用了各种函数,它们工作得很好。但是,LET函数导致2个场景:
当我按原样使用它时:

...... # boilerplate code
sheet.cell(row=1, column=1).value = "=LET(MYVAL,\"Boogawooga\",MYVAL)"
它将公式更新为 =@LET(MYVAL,"Boogawooga",MYVAL)我得到一个 #NAME?单元格上的错误。
当我在它前面加上 _xlfn IE:
...... # boilerplate code
sheet.cell(row=1, column=1).value = "=_xlfn.LET(MYVAL,\"Boogawooga\",MYVAL)"

打开 excel 文档时出现以下错误,并且带有公式的单元格为空:
enter image description here
使用:
  • openpyxl==3.0.7
  • python 3.6
  • Excel 365(Let 函数直接作用于文件,因此不是旧版本问题)

  • 任何帮助将不胜感激。

    最佳答案

    解决方案:
    看起来,除了 _xlfn ,您可能需要 _xlpm变量前缀!
    这有效:

    sheet.cell(row=1, column=1).value = "=_xlfn.LET(_xlpm.MYVAL,\"Boogawooga\",_xlpm.MYVAL)"
    

    关于python - Excel 'LET' 函数无法使用 openpyxl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68120612/

    相关文章:

    python - 将 UTC 时间字符串的 pandas 数据帧列转换为 float

    POI 中的 Java Excel/POJO 映射

    excel - 从下拉列表中选择后出现意外的 Selenium 行为

    python - 为什么分配给 sys.modules[__name__] 后 __name__ 的值会发生变化?

    python - 不同长度的 tf-idf 文档

    python - 在python中覆盖类变量?

    c# - Excel 功能区选项卡选择更改事件

    excel - 使用 SUMPRODUCT 检查彩色单元格

    excel - 如何过滤掉数字和 .在 excel 中使用 Excel 公式从文本

    excel - 有没有一种方法可以对列表进行排序,以使一列中具有相同值的行均匀分布?