создание таблиц Excel в Perl, которые ссылаются на сторонние надстройки - PullRequest
5 голосов
/ 26 октября 2010

Я пытаюсь сгенерировать файл xls с помощью Spreadsheet :: SimpleExcel, который вызывает функцию, определенную в надстройке третьей стороны (Bloomberg, если это имеет значение). Базовый пакет WriteExcel не позволяет мне записать это, потому что он не знает об этой функции надстройки. Я вижу гигантскую хеш-таблицу встроенных функций, о которых знает модуль и которые потенциально могут добавить к ней эту функцию, но я не знаю атрибутов функции, особенно «кода ptg».

Есть ли способ либо определить, что такое код ptg (я предполагаю, что это что-то вроде кода операции) этой сторонней функции, либо есть какой-то способ обмануть модуль, чтобы он позволил мне выписать эти функции без знать эти детали? Или какой-то третий план, о котором я не подумал?

Ответы [ 2 ]

2 голосов
/ 27 октября 2010

Электронная таблица :: WriteExcelXML и Excel :: Writer :: XLSX должен иметь возможность генерировать файлы Excel с функциями сторонних производителей.

Оба модуля используют одинаковыеинтерфейс как Spreadsheet :: WriteExcel, хотя с меньшим количеством функций.

2 голосов
/ 27 октября 2010

Я думаю, вам нужно использовать Win32 :: OLE, и это немного грязно.Попробуйте:

$xls->AddIns->Add( $xll_path );
$xls->RegisterXLL( $xll_file );

, где $ xll_path - полный путь к xll для Bloomberg, а $ xll_file - просто имя xll.

...