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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

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

Сообщение m0p3e »

Мда... Галактика в своем репертуаре... Мега полезную фишку с динамически расширяемой по вертикали матрицей зарубили. (Автоматическое увеличение количества строк у матрицы. Жизненно необходимо когда количество выводимых записей неизвестно).
:sad:
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

Сообщение Алексей »

Я обычно данные для эксель отчетов складываю в таблицу в памяти и на момент создания матрицы - кол-во можно посчитать как recordsintable.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

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

Сообщение m0p3e »

Это известный способ, но часто смысла в ТП нет, а ее приходится городить только для подсчета количества записей. Не люблю когда приходится загромождать код из-за искусственных ограничений. В переданных исходниках это было реализовано. Зачем отрезали? Непонятно...
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

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

Сообщение RAJAH »

Некропостинг :!:
Как сейчас обстоит дело с марьяжем "Галактики" и OpenOffice? Нужна особая Excellib.dll? А LibreOffice? Спасибо! :-)
LaaLaa

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

Сообщение 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). Все это в Галактике есть.
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

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

Сообщение RAJAH »

LaaLaa писал(а):Читайте историю этой ветки.
Читал. Интересно текущее состояние.
LaaLaa писал(а):Но на практике я не видел ни одноногого реального заказчика на OpenOffice
Забавная опечатка... :D
LaaLaa писал(а):Все реальные отчеты созданные в Галактике по технологии ExcelLib созданы в форматах Microsoft по шаблонам XLT и XLTM. И VB скриптах от Microsoft.
Получается, PAT-отчётность неосуществима в OpenOffice?
SLK, я так понимаю, для OpenOffice до сих пор непонятен...
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5185
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

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

Сообщение edward_K »

ну надо пробовать. OpenOffice пашет с xls
Я лет 5 назад видел его. только клиент работал на терминалах, а на компах только смотрел.
Там в cfg нужно какой то параметр врубать.
LaaLaa

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

Сообщение LaaLaa »

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

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

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

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

Сообщение LaaLaa »

edward_K писал(а):ну надо пробовать. OpenOffice пашет с xls
Пробовал. Пашет. Только там где нет скриптов на VB.
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

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

Сообщение RAJAH »

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

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

Сообщение LaaLaa »

Разве это возможно. Макросы Open Office совместимы с MS Office?
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

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

Сообщение RAJAH »

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

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

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

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

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

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

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

Сообщение 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" не могут.
Также будет некорректным формирование отчетов использующих какие-либо макросы
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

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

Сообщение RAJAH »

LaaLaa писал(а):При установке режива 1 или 2 для параметра XLSGlobalLibImplementationMode в Галактике им соответсвуют 1->0 и 2->1
Ага, это я не учёл. Однако, указываю в cfg-файле XLSGlobalLibImplementationMode = 2 - вроде бы, теперь xlIsExcelValid = true, а отчёт не выводится на экран. Что нужно ещё сделать?
LaaLaa писал(а):А какую именно сборку ОО и версию вы пытаетесь использовать
Apache OpenOffice 4.1.1
Руслан
Местный житель
Сообщения: 294
Зарегистрирован: 01 ноя 2011, 14:03
Контактная информация:

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

Сообщение Руслан »

Скажите, так а макросы побороли? У себя запускаем - они не применяются.
Ответить