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

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

Добавлено: 07 апр 2008, 18:13
m0p3e
Есть желающие потестировать данную dll?

Добавлено: 08 апр 2008, 10:20
SergZol
если принцип работаеты отличается от ExcelLib, то да.

Добавлено: 08 апр 2008, 11:52
m0p3e
А что значит "принцип работы отличается от ExcelLib"?
При создании этой dll главный принцип был:
Отчет отлаженый под MsExcel должен выводиться в OpenOffice Calc без переписывания кода.
На сегодняшний момент реализованы функции (см Excel.doc):
1. Доступ к Excel
2. Работа с книгой
3. Работа с листом
4. Работа с поименованными областями
5. Работа с буфером обмена
6. Вывод значений
7. Форматирование
8. Чтение/запись с помощью вариантных массивов
Остались
1. Работа с макросами (вот здесь возможен затык неслабый, т.к. OO макросы под MS понимает, но очень ограниченно)

Добавлено: 09 апр 2008, 05:43
Алексей
m0p3e
предлагаю заслать макс_фину, чтобы выложил в опыт...

Добавлено: 09 апр 2008, 11:55
m0p3e
Алексей писал(а):m0p3e
предлагаю заслать макс_фину, чтобы выложил в опыт...
Работа над DLL сейчас продолжается и смысла выкладывать бету нет. Речь шла о тестировании для выявления глюков и их исправлении.

Добавлено: 21 апр 2008, 12:20
edward_K
у мнея появился OpenOffice :). киньте если не жалко.

Добавлено: 21 апр 2008, 13:54
m0p3e
edward_K
Выслал. Сам тестирую на сборке 2.4.0 Pro от Инфры.
Для просмотра лога нужно создать файлик C:\excel.log.
Для работы с OO сносить MsOffice необязательно. Библиотечка проверяет наличие OO и начинает работать с ним.
Для вывода в Excel сносить OO тоже не обязательно. Создаем C:\msonly.flg. :)

Добавлено: 21 апр 2008, 17:04
edward_K
на xlCreateExcelWithTemplate вылетает
---------------------------
Предупреждение
---------------------------
Возникло необработанное исключение
ExOleCantCreateObject (ExOle)
Ошибка при создании объекта "{08A59DB9-1CA9-4F38-A6CF-B1CE0FC302B9}"
Не найдена указанная процедура

"Да" - Продолжить, "Нет" - Отлаживать в окне отладчика
"Отмена" - Не выдавать больше это
---------------------------
Да Нет Отмена
---------------------------
да. пробую я на XP. Версия вроде как тоже 2.4.
Примерно такое же бывает если atloffice.ocx не зареген.
в реестре по этому адресу C:\GAL810\Exe\GalXLSLib.dll

Добавлено: 21 апр 2008, 18:51
m0p3e
Хм. У меня тоже XP. Единственное отлаживаю я на 5.82.
А что в C:\excel.log? Его предварительно надо ручками создать.

В 7.12 изменилась структура RegExcel, но ExcelLib остался без изменений. Может на восьмерке и сам ExcelLib поменяли. К сожалению сыров нет, что б посмотреть.

Добавлено: 21 апр 2008, 20:14
edward_K
а . ну тыды точно пахать не будет. в 712 и выше уже 2 dll задействованы если не 3. Жаль что сырцов нет, я бы подогнал под 810, а с 0 разбираться влом. Excel.log то создал ручками, но так пустым и остался.

Добавлено: 21 апр 2008, 20:43
m0p3e
Реально вызовы все проходят через ExcelLib.
По крайней мере до 7.12. Исключение составляет ExcelLib3x под трехзвенкой.

Кто может поделиться каталожкой от 8.1 PAS\Excel\ ??

Добавлено: 22 апр 2008, 12:05
m0p3e
Приславшим спасибо за сыр. :)
Итак. Расследование показало, что в 8.1 работу над ExcelLib продолжили. Добавили новые функции и оптимизировали код.
Хотя почему так жестко валит Галку (без единой записи в логе) пока не понятно. Попробую создать тестовый стенд. :)

ЗЫ ExcelLib от 8.1 в 5.82 работает.

Добавлено: 22 апр 2008, 13:24
edward_K
тока вызов в 810 идет через GalXLSLib.dll.

Function XLOPENEXCEL(boolean) : boolean; external 'ExcelLib3X.dll';
Function XLOPENNEWEXCEL(boolean) : boolean; external 'ExcelLib3X.dll';
Function XLCREATEEXCEL(string, boolean) : boolean; external 'ExcelLib3X.dll';
Function XLCREATEEXCELWITHTEMPLATE(string, boolean) : boolean; external 'ExcelLib3X.dll';
Function XLISEXCELVALID : boolean; external 'ExcelLib3X.dll';
пробовал ExcelLib.dll подсунуть вместо ExcelLib3X.dll - ругается
---------------------------
atlexec.exe - Точка входа не найдена
---------------------------
Точка входа в процедуру XLSTWRITETOMATRIX не найдена в библиотеке DLL ExcelLib3X.DLL.
---------------------------
ОК
---------------------------

Добавлено: 22 апр 2008, 13:39
m0p3e
Если я правильно понял из исходников то: ExcelLib3X использует GalXLSLib, которая в свою очередь использует ExcelLib.

В ближайшее время сделаю на базе ExcelLib от 8.1. Посмотрим что получится :)
Другое дело что заинтересованности в этом не наблюдается. Нынешний вариант у меня работает и не хочется делать бесполезную работу.

Добавлено: 22 апр 2008, 15:33
edward_K
а дай исходники своей dll, верну в исправленном виде.