Страница 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, верну в исправленном виде.