2011-09-05 73 views
0

我用下面的代码,但它不起作用。我检查了xls。公式填写正确,但保留为文本条目。如果按下ENTER来激活这个单元格,它就会起作用。xlwt模块是否支持INDIRECT?

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

我发现在间接宣布xlwt \ ExcelMagic.py:

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'), 
... 

任何人都可以建议如何使用间接的公式?

回答

0

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

相关问题