Excel 在 Openpyxl 生成的工作簿中添加 @ 符号

Excel adding @ signs in Openpyxl generated workbooks

我目前正在尝试编写 python 脚本以从 json 文件生成 excel 工作簿模板文件。为此,我一直在使用 openpyxl 并在模板中实现 excel 函数以便于访问。我并不精通 excel,我正在使用 python 作为“学习催化剂”。当我打开生成的文件时,我发现我输入的函数在某些地方有“@”符号。

在python中:

from openpyxl import Workbook
wb = Workbook()
sh = wb.active
sh["A2"] = "=IF(ISERR(VLOOKUP(F1,A1:B21,2,FALSE)),”False:Not Contains”,”True: Text Found”)"

(excel 函数来自:https://excelx.com/formula/if-cell-contains-text/#bm4)

在excel中:
=@IF(ISERR(VLOOKUP(F1,A1:B21,2,FALSE)),”假:(不)包含”,”真:找到文本”)

我相信这是在 excel 方面,因为当我在 python 中打印单元格时,我将得到与输入相同的字符串。

print(sh["A2"].value)

我想知道是否有人使用过 openpyxl 来阐明如何解决这个问题。

以下答案:How to insert array formula in an Excel sheet with openpyxl?(感谢 JvdV)

from openpyxl import Workbook
wb = Workbook()
sh = wb.active
sh["A2"] = '=IF(ISERR(VLOOKUP(F1,A1:B21,2,FALSE)),”False:Not Contains”,”True: Text Found”)'
sh.formula_attributes["A2"] = {"t": "array", "ref": "A2:A2"}

其中 't' 表示类型,'ref' 是要写入公式的单元格数组。但是,我找不到与以下相关的任何资源:

openpyxl.worksheet.worksheet.Worksheet.formula_attributes