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

Чтение .xls без использования Excel

Добавлено: 31 авг 2005, 17:47
skriaxit
Подскажите, как узнать содержимое заранее заданных ячеек в .xls файле без использования OLE и т.п.
Excel на конечной машине может быть установлен, а может и нет, поэтому задача - обойтись без него.
Задача только в чтении данных.

Добавлено: 01 сен 2005, 09:57
Hawk
Вообще когда-то я такую задачу решал через ADO или можно через OLE DB но это сложнее.
Вот например как это делается на VB. На С++ найти примера не удалось, можешь сам поискать хотя в общем-то главное знать какие COM обьекты и какие методы у них вызвать, а перенести на С++ уже не сложно.
Да и в MSDN-t посмотри на предмет ADO и Excel

Re: Чтение .xls без использования Excel

Добавлено: 01 сен 2005, 11:26
Absurd
skriaxit писал(а):Подскажите, как узнать содержимое заранее заданных ячеек в .xls файле без использования OLE и т.п.
Никак.

Добавлено: 04 сен 2005, 16:42
skriaxit
Спасибо за советы. Но я наткнулся сам на достаточно простое решение моей проблемы: я нашел ActiveX library для чтения/записи .xls файлов без использования excel. См. http://sm-software.com (OLE XLSFile)

2Absurd, Ну, это вы зря, для Дельфистов вообще есть библиотеки, основанные на прямом чтении/записи безо всяких OLE (жаль для С++ такого нет); см ссылку выше

Добавлено: 04 сен 2005, 23:59
Absurd
[quote="skriaxit"]2Absurd, Ну, это вы зря, для Дельфистов вообще есть библиотеки, основанные на прямом чтении/записи безо всяких OLE (жаль для С++ такого нет)]
Микрософт не открыла формат файла, следовательно эти библиотеки основаны на реверс-инжениринге, и в серьезной программе конкретно я бы использовать их не стал. На худой конец я бы сделал несколько плагинов - для ActiveX, для ODBC и для для такой библиотеки (с припиской - на свой страх и риск).

Добавлено: 05 сен 2005, 22:20
skriaxit
Absurd писал(а):
skriaxit писал(а):2Absurd, Ну, это вы зря, для Дельфистов вообще есть библиотеки, основанные на прямом чтении/записи безо всяких OLE (жаль для С++ такого нет)]
Микрософт не открыла формат файла, следовательно эти библиотеки основаны на реверс-инжениринге, и в серьезной программе конкретно я бы использовать их не стал. На худой конец я бы сделал несколько плагинов - для ActiveX, для ODBC и для для такой библиотеки (с припиской - на свой страх и риск).
Вообще-то xls файлы - это полностью открытый формат BIFF7 или BIFF8. Существует немыслимое количество программ не от микрософт, умеющих работать с xls без "ole automation with excel". И никто из них не занимался "реверс-инжинирингом" - это не модно.

PS: А тут (http://www.giffin.org/xlreader.php) вообще лежит исходник на С для чтения xls (вообще без ОЛЕ и т.п.!)

Добавлено: 06 сен 2005, 18:07
Absurd
Вообще-то xls файлы - это полностью открытый формат BIFF7 или BIFF8.
Репутация Микрософт по поводу поддержки открытых форматов (даже тех, в соддании которых они принимали активное участие) хорошо известна, и не вижу причин вдаваться в подробности в каждом конкретном случае.