使用 openpyxl 引用多个单元格

Reference multiple cells with openpyxl

我正在尝试使用 openpyxl 引用函数中的多个单元格,如以下代码所示:

from openpyxl.workbook import Workbook
import os

wb = Workbook()
ws = wb.get_active_sheet()

ws.cell("A1").value = 1
ws.cell("A2").value = 2
ws.cell("A3").value = "=SUM(A1;A2)"

wb.save(os.path.join(os.getcwd(), "test.xlsx"))

使用 OpenOffice 打开输出文件时,单元格 A3 的公式变为 =SUM(A1|A2),单元格显示错误。

为什么“;”角色变化,我该如何解决?

这:SUM(A1;A2) 不是有效的 Excel 公式。

现在,对于某些语言设置(使用逗号作为小数点分隔符),在公式中使用分号代替逗号,但是 openpyxl 明确 does not support this(强调我的) :

Warning

NB you must use the English name for a function and function arguments must be separated by commas and not other punctuation such as semi-colons.

所以我想它正在替换非法字符(用同样非法的东西)。如果您将 ; 替换为 :,您应该没问题