2016-03-15 57 views
0

我试图使用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),单元格显示错误。

为什么“;”性格改变,我该如何解决这个问题?

+0

SUM(A1; A2)'不合法。也许你想'SUM(A1:A2)'? – SiHa

回答

3

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

现在,有了一定的语言设置(使用逗号作为小数点分隔符),分号代替公式中一个逗号的使用,但openpyxl明确does not support this(重点煤矿):

警告

注意您必须使用英文名称作为函数,并且函数参数 必须用逗号分隔,而不是其他标点符号,例如 分号

所以我想它是取代非法字符(同样非法的东西)。如果您将;替换为:,则应该是OK

+0

“:”运算符选择两个单元格之间的所有单元格。用逗号代替分号做我想要的。 – Ulisha