xlwt模块是否支持INDIRECT?

时间:2011-09-05 10:46:24

标签: python xlwt indirection

我使用了以下代码,但它不起作用。我检查了xls。公式已正确填写,但仍保留为文本条目。如果按ENTER键激活此单元格,则可以正常工作。

sheet1.write(1, 1, xlwt.Formula('INDIRECT(\"\'sheet1\'!B1\")'))

我发现在xlwt \ ExcelMagic.py中声明了INDIRECT:

all_funcs_by_name = {
    # Includes Analysis ToolPak aka ATP aka add-in aka xcall functions,
    # distinguished by -ve opcode.
    # name: (opcode, min # args, max # args, func return type, func arg types)
    # + in func arg types means more of the same.
...
'INDIRECT'    : (148, 1,  2, 'R', 'VV'),
...

有人可以建议如何使用INDIRECT公式吗?

1 个答案:

答案 0 :(得分:0)

xlwt在编译包含一些应该返回引用的函数的公式时遇到问题。这在OpenOffice Calc和Gnumeric中无关紧要,它们似乎是按照“我的意思”的理念运作的。在Excel 2003中,您需要选择单元格然后点击F2(强制它将公式从xlwt生成的字节码反编译为文本),然后是Enter(使其将文本编译为字符码,它很满意)。我的优先事项清单上的工作非常少。