Python xlwt无法解析“复杂”公式,引用另一个工作表

时间:2014-03-30 20:42:13

标签: python excel xlwt

我想将一个公式放到Excel单元格中:

write(
  rownr,
  colnr,
  xlwt.Formula("ROUND(SUM('Hungarian word'.G%d:'Hungarian word'!G%d);0)" % (intval[0], intval[1]))

(注意:'匈牙利语单词'更多单词带有特殊字符,因此工作表名称的类型为unicode)

当我运行此代码时,我收到此错误:

xlwt.ExcelFormulaParser.FormulaParseException: can't parse formula ROUND(SUM('Hungarian word'.G2:'Hungarian word'.G3);0)

我试图更换"。"字符到"!",但我得到了同样的错误:

xlwt.ExcelFormulaParser.FormulaParseException: can't parse formula ROUND(SUM('Hungarian word'!G2:'Hungarian word'!G3);0)

如果我把公式作为字符串放到单元格中:

write(
  rownr,
  colnr,
  "=KEREK(SZUM('Hungarian word'.G%d:'Hungarian word'.G%d);0)" % (intval[0], intval[1]))

然后它可以工作,但我担心它只适用于Excel的正确本地化版本。

从另一个工作表中放置多个单元格的舍入累计值的预期方法是什么?

1 个答案:

答案 0 :(得分:0)

好的,这是解决方案:

xlwt.Formula("ROUND(SUM('%s'!$G$%d:$G$%d);0)" % (u"Hungarian word", intval[0], intval[1])))

产生了预期的公式,

对不起噪音:)

一个。