我有一个集成了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
答案 0 :(得分:1)
我最好的猜测是,这是由于公式的评估。我不相信xlwt
在插入公式时会对公式进行评估,这意味着您会收到值错误,因为SUMPRODUCT
函数的评估时MMULT
的结果不存在。双击并按Enter键时它的工作原因是Excel现在重新计算所有内容,为您提供有效的结果。