3

我有一个集成了 python 和 Excel 的工作程序(感谢 xlwt)。我正在读取 csv 文件并复制到 excel 中。在执行此操作时,我还使用 xlwt 中的公式模块包含了一些公式。具体来说,代码是

ws_xlwt.write(3,3, Formula("MMULT(MINVERSE(C11:D12),"+col_char+"2:"+col_char+"3)"), style)

col_char 是循环中生成的 ASCII 码。数组 (C11:D12) 包含使用以下代码生成的数据:

ws_xlwt.write(10,2, Formula("SUMPRODUCT($C$36:$C$161,$C$36:$C$161)"), style)

当程序运行时,它会将公式正确地放入特定的单元格中。但单元格显示错误“#VALUE”而不是结果。有趣的一点是,当我打开 excel 文件时,双击这个特定的单元格进行编辑,然后在不更改任何内容的情况下按 Enter,结果就会显示出来。我不确定这是 python 集成问题还是 Excel 问题。

OS - Windows 7 64-bit
Python - 2.7 32-bit
4

1 回答 1

1

我最好的猜测是,这是由于对公式的评估。我不相信xlwt在插入公式时会对其进行评估,这意味着您会收到值错误,因为在评估函数SUMPRODUCT时结果不存在。MMULT当您双击并按 Enter 时它起作用的原因是 Excel 现在正在重新计算所有内容,从而为您提供有效的结果。

于 2012-11-08T20:15:00.550 回答