我使用了以下代码,但它不起作用。我检查了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公式吗?
答案 0 :(得分:0)
xlwt
在编译包含一些应该返回引用的函数的公式时遇到问题。这在OpenOffice Calc和Gnumeric中无关紧要,它们似乎是按照“我的意思”的理念运作的。在Excel 2003中,您需要选择单元格然后点击F2(强制它将公式从xlwt生成的字节码反编译为文本),然后是Enter
(使其将文本编译为字符码,它很满意)。我的优先事项清单上的工作非常少。