Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Создание Excel файла без образения к серверу Excel


Автор: BOB4uK 9.8.2009, 17:04
Как то установил пустую Windows и 1C: Предприятие, дак вот сохранил из 1С документ в формат .xls без проблем и на другом ПК открылось тоже без проблем!
Вопрос как работать с файлами .xls без установленного на ПК Office?

Автор: sawfish 13.8.2009, 18:52
Файлы Microsoft (.doc, .xls и т.д.) и многие другие представляют собой структурированные хранилища (structured storage), они называются "файл-документ" (docfile) или "составной файл" (compound file).

Внутри составной файл состоит из следующих элементов:

- "хранилища" (storages), а на самом деле это просто внутренние каталоги, описывающие состав и расположение других объектов внутри составного файла; 

- "потоки" (streams), а на самом деле это своего рода файлы, массивы структурированной информации, имеющие собственное имя; 

- "заблокированные данные" (lock-bytes), а на самом деле это довольно редко встречающиеся неструктурированные массивы двоичной информации, своего рода "посторонние" данные, которые разрешается иметь внутри составного файла, но которые не могут служить OLE-объектами.

Структура - IStorage

Функции:

Функция IStorage --- Описание  
-------------------------------------------------------------
CreateStream --- Создать новый поток  
OpenStream --- Открыть существующий поток  
CreateStorage --- Создать новое хранилище  
OpenStorage --- Открыть существующее хранилище  
EnumElements --- Перенумеровать потоки в хранилище  
RenameElement --- Переименовать поток  
DestroyElement --- Уничтожить поток  


Вот, собственно, в этом направлении и копайте. Удачи!


Автор: xvr 14.8.2009, 11:11
А еще на сайте MS где то лежать описания бинарных форматов всех часте Оффиса (тех самых потоков, которые внутри IStorage)

Автор: Artemon 14.8.2009, 16:55
Например вот этот компонент: http://www.nika-soft.com/nativeexcel2/
умеет работать с Excel БЕЗ установленного MS Office

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)