Подскажите, как узнать содержимое заранее заданных ячеек в .xls файле без использования OLE и т.п.
Excel на конечной машине может быть установлен, а может и нет, поэтому задача - обойтись без него.
Задача только в чтении данных.
Чтение .xls без использования Excel
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Вообще когда-то я такую задачу решал через ADO или можно через OLE DB но это сложнее.
Вот например как это делается на VB. На С++ найти примера не удалось, можешь сам поискать хотя в общем-то главное знать какие COM обьекты и какие методы у них вызвать, а перенести на С++ уже не сложно.
Да и в MSDN-t посмотри на предмет ADO и Excel
Вот например как это делается на VB. На С++ найти примера не удалось, можешь сам поискать хотя в общем-то главное знать какие COM обьекты и какие методы у них вызвать, а перенести на С++ уже не сложно.
Да и в MSDN-t посмотри на предмет ADO и Excel
Спасибо за советы. Но я наткнулся сам на достаточно простое решение моей проблемы: я нашел ActiveX library для чтения/записи .xls файлов без использования excel. См. http://sm-software.com (OLE XLSFile)
2Absurd, Ну, это вы зря, для Дельфистов вообще есть библиотеки, основанные на прямом чтении/записи безо всяких OLE (жаль для С++ такого нет); см ссылку выше
2Absurd, Ну, это вы зря, для Дельфистов вообще есть библиотеки, основанные на прямом чтении/записи безо всяких OLE (жаль для С++ такого нет); см ссылку выше
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
[quote="skriaxit"]2Absurd, Ну, это вы зря, для Дельфистов вообще есть библиотеки, основанные на прямом чтении/записи безо всяких OLE (жаль для С++ такого нет)]
Микрософт не открыла формат файла, следовательно эти библиотеки основаны на реверс-инжениринге, и в серьезной программе конкретно я бы использовать их не стал. На худой конец я бы сделал несколько плагинов - для ActiveX, для ODBC и для для такой библиотеки (с припиской - на свой страх и риск).
Микрософт не открыла формат файла, следовательно эти библиотеки основаны на реверс-инжениринге, и в серьезной программе конкретно я бы использовать их не стал. На худой конец я бы сделал несколько плагинов - для ActiveX, для ODBC и для для такой библиотеки (с припиской - на свой страх и риск).
2B OR NOT(2B) = FF
Вообще-то xls файлы - это полностью открытый формат BIFF7 или BIFF8. Существует немыслимое количество программ не от микрософт, умеющих работать с xls без "ole automation with excel". И никто из них не занимался "реверс-инжинирингом" - это не модно.Absurd писал(а):skriaxit писал(а):2Absurd, Ну, это вы зря, для Дельфистов вообще есть библиотеки, основанные на прямом чтении/записи безо всяких OLE (жаль для С++ такого нет)]
Микрософт не открыла формат файла, следовательно эти библиотеки основаны на реверс-инжениринге, и в серьезной программе конкретно я бы использовать их не стал. На худой конец я бы сделал несколько плагинов - для ActiveX, для ODBC и для для такой библиотеки (с припиской - на свой страх и риск).
PS: А тут (http://www.giffin.org/xlreader.php) вообще лежит исходник на С для чтения xls (вообще без ОЛЕ и т.п.!)
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
Репутация Микрософт по поводу поддержки открытых форматов (даже тех, в соддании которых они принимали активное участие) хорошо известна, и не вижу причин вдаваться в подробности в каждом конкретном случае.Вообще-то xls файлы - это полностью открытый формат BIFF7 или BIFF8.
2B OR NOT(2B) = FF