Страница 4 из 4

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 10 июн 2010, 11:47
m0p3e
Мда... Галактика в своем репертуаре... Мега полезную фишку с динамически расширяемой по вертикали матрицей зарубили. (Автоматическое увеличение количества строк у матрицы. Жизненно необходимо когда количество выводимых записей неизвестно).
:sad:

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 10 июн 2010, 13:20
Алексей
Я обычно данные для эксель отчетов складываю в таблицу в памяти и на момент создания матрицы - кол-во можно посчитать как recordsintable.

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 10 июн 2010, 13:23
m0p3e
Это известный способ, но часто смысла в ТП нет, а ее приходится городить только для подсчета количества записей. Не люблю когда приходится загромождать код из-за искусственных ограничений. В переданных исходниках это было реализовано. Зачем отрезали? Непонятно...

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 03 июн 2014, 17:24
RAJAH
Некропостинг :!:
Как сейчас обстоит дело с марьяжем "Галактики" и OpenOffice? Нужна особая Excellib.dll? А LibreOffice? Спасибо! :-)

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 04 июн 2014, 11:24
LaaLaa
Читайте историю этой ветки.

Наработки уважаемого коллеги m0p3e были скомпилированы в базовую поставку библиотеки GalXLSLib.dll Галактики 8.1 и 9.1 в теории это должно работать. Т.е. движок есть - если вы где-то внедряете именно OpenOffice (или его аналог) свои отчеты теоретически вы можете делать в формате OpenOffice с помощью.

Но на практике я не видел ни одноногого реального заказчика на OpenOffice. Все реальные отчеты созданные в Галактике по технологии ExcelLib созданы в форматах Microsoft по шаблонам XLT и XLTM. И VB скриптах от Microsoft.

Если вы будете внедрять именно Open Office. Мне кажется наиболее перспективным направлением в данном случае будет создание отчетов по технологии FastReport. Один и тот же отчет FastReport может быть сохранен в любом из форматов и Microsoft (XLS) и Open Office (ODS). Все это в Галактике есть.

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 04 июн 2014, 11:47
RAJAH
LaaLaa писал(а):Читайте историю этой ветки.
Читал. Интересно текущее состояние.
LaaLaa писал(а):Но на практике я не видел ни одноногого реального заказчика на OpenOffice
Забавная опечатка... :D
LaaLaa писал(а):Все реальные отчеты созданные в Галактике по технологии ExcelLib созданы в форматах Microsoft по шаблонам XLT и XLTM. И VB скриптах от Microsoft.
Получается, PAT-отчётность неосуществима в OpenOffice?
SLK, я так понимаю, для OpenOffice до сих пор непонятен...

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 04 июн 2014, 12:41
edward_K
ну надо пробовать. OpenOffice пашет с xls
Я лет 5 назад видел его. только клиент работал на терминалах, а на компах только смотрел.
Там в cfg нужно какой то параметр врубать.

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 05 июн 2014, 13:26
LaaLaa
К стати если кто-то из Вас рассматривает OpenOffice как путь для удешевления отделенных специализированных рабочих мест.
Например рабочее место в каком нибудь цеху складе или торговой точке, где нужно из Галактики только распечатывать какие ни будь наряды и накладные.
Чтобы потом заворачивать в них подшипники болты и прочее. Где не требуется ничего вводить ни в Эксель ни в Водрд.

Можете установить там бесплатные программы от Microsoft:
Средство просмотра Excel
Средство просмотра Word
Средство просмотра PowerPoint

Чтобы не покупать лицензии Офиса на такие рабочие места.

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 05 июн 2014, 13:57
LaaLaa
edward_K писал(а):ну надо пробовать. OpenOffice пашет с xls
Пробовал. Пашет. Только там где нет скриптов на VB.

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 17 июн 2015, 13:37
RAJAH
LaaLaa писал(а):
edward_K писал(а):ну надо пробовать. OpenOffice пашет с xls
Пробовал. Пашет. Только там где нет скриптов на VB.
По прошествии некоторого времени ничего не допилили для работы галактических отчётов с макросами?

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 18 июн 2015, 11:30
LaaLaa
Разве это возможно. Макросы Open Office совместимы с MS Office?

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 22 июн 2015, 10:26
RAJAH
LaaLaa писал(а):Макросы Open Office совместимы с MS Office?
Не знаю, однако декларируется, что "От версии к версии поддержка VBA улучшается, но 100% поддержки не будет никогда."

Что-то не могу разобраться, как с OO работать. В cfg прописал:

Код: Выделить всё

[Excel]
  XLSGlobalLibImplementationMode = 1
Этот фрагмент кода отчёта выдаёт сообщение FALSE, соответственно, никакой файл не выводится.

Код: Выделить всё

   xlOpenNewExcel(true);
   message(string(xlIsExcelValid));
   xlKillExcel;

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 22 июн 2015, 17:12
LaaLaa
А какую именно сборку ОО и версию вы пытаетесь использовать ("Инфра-Ресурс", Libre, другие)?
По информации из ПИР 102.91942

Полное описание:
В данный момент для управления режимом работы функционала
"Библиотека функций работы с Excel" используется
function xlSetImplementationMode(wMode: word): boolean;
где wMode может иметь следующие значения:
0 - MsOffice
1 - OpenOffice

Но удобнее всего, для пользователей, была бы схема с возможностью
автоматического определения установленного офиса. Для этого
предлагается расширить список режимов:
0 - MsOffice
1 - OpenOffice
2 - авто (сначала проверяем наличие MsOffice)
3 - авто (сначала проверяем наличие OpenOffice).
Это нужно, т.к. в одной организации могут быть как машины с
MSOffice, так и с OpenOffice.

Дополнительно существует проблема по "времени жизни" такого режима.
С одной стороны удобно переключить на всю сессию работы пользователя,
а с другой в одном отчете программист переключает на OO, а другой
отчет без данной функции и разработан под MS. Он будет принудительно
грузиться в OO, до перезагрузки Галактики. Для решения таких вопросов
хорошо бы завести еще функцию xlSetGlobalImplementationMode -
переключение на все сессию и xlSetImplementationMode - переключение на
период формирования отчета ( до xlKillExcel). Либо добавить еще
параметр в xlSetImplementationMode. Получается что администратор
задает вывод по умолчанию, но и программист может его перекрыть. Режим
по умолчанию, удобнее задавать в galnet.cfg, а не так как сделано
сейчас - через переменную окружения GalXLSLibImplementationMode.

Что исправлено:
В galnet.cfg в секцию [Excel] добавлен параметр XLSGlobalLibImplementationMode, который устанавливает режим работы MSOffice или OpenOffice:
0 - берет настройки из переменной окружения GalXLSLibImplementationMode. Ноль возвращается если параметр XLSGlobalLibImplementationMode в galnet.cfg не указан, т.е. работает страый алгоритм установки режима.
1 - MsOffice
2 - OpenOffice

Как исправлено:
В galnet.cfg в секцию [Excel] добавлен параметр XLSGlobalLibImplementationMode, который устанавливает режим работы MSOffice или OpenOffice:
0 - берет настройки из переменной окружения GalXLSLibImplementationMode. Ноль возвращается если параметр XLSGlobalLibImplementationMode в galnet.cfg не указан, т.е. работает страый алгоритм установки режима.
1 - MsOffice
2 - OpenOffice

При установке режива 1 или 2 для параметра XLSGlobalLibImplementationMode в Галактике им соответсвуют 1->0 и 2->1

Для получения информации о установленном режиме можно использовать функцию:
function xlGetImplementationMode : word.

Для изменения режима на время работы Галактики, используйте функцию:
function xlSetImplementationMode(wMode:word) : boolean
Данное изменение действует до первой выгрузки Excel отчета (до выполнения KillExcel), далее загружается режим по умолчанию.

Внимание!!!
На данный момент, включение режима работы с "Open Office Calc",
имеет смысл отлько для отчетов непосредственно использующих
"Библиотеку функций работы с Excel". Отчеты формируемых по
XLT-шаблонам с помошью объекта iXLSRepBuilder, пока работать с "Open
Office Calc" не могут.
Также будет некорректным формирование отчетов использующих какие-либо макросы

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 26 июн 2015, 00:26
RAJAH
LaaLaa писал(а):При установке режива 1 или 2 для параметра XLSGlobalLibImplementationMode в Галактике им соответсвуют 1->0 и 2->1
Ага, это я не учёл. Однако, указываю в cfg-файле XLSGlobalLibImplementationMode = 2 - вроде бы, теперь xlIsExcelValid = true, а отчёт не выводится на экран. Что нужно ещё сделать?
LaaLaa писал(а):А какую именно сборку ОО и версию вы пытаетесь использовать
Apache OpenOffice 4.1.1

Re: ExcelLib с поддержкой OpenOffice

Добавлено: 03 фев 2016, 17:19
Руслан
Скажите, так а макросы побороли? У себя запускаем - они не применяются.