2011-09-05 118 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(使其將文本編譯爲字符碼,它很滿意)。在我的優先事項清單上處理這個問題非常低。

相關問題