Поддерживает ли модуль xlwt НЕПОСРЕДСТВЕННОЕ? - PullRequest
0 голосов
/ 05 сентября 2011

Я использовал следующие коды, но это не работает.Я проверил XLS.Формула заполнена правильно, но остается в виде текстовой записи.Если нажать ENTER, чтобы активировать эту ячейку, она работает.

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

Я считаю, что INDIRECT объявлен в 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'),
...

Может кто-нибудь предложить, как использовать формулу INDIRECT

1 Ответ

0 голосов
/ 12 сентября 2011

xlwt имеет проблемы с компиляцией формул, которые содержат некоторые функции, которые должны возвращать ссылки. Это не имеет значения в OpenOffice Calc и Gnumeric, которые работают по принципу «делай, что я имею в виду». В Excel 2003 вам нужно выбрать ячейку, затем нажать F2 (вынуждает декомпилировать формулу из сгенерированного xlwt байт-кода в текст), а затем Enter (заставляет компилировать текст в байт-код, который ему нравится) Работа над этим очень низка в моем списке приоритетов.

...