Существуют ли OpenOffice.org компоненты экспорта для Delphi (не OLE)?
-
23-08-2019 - |
Вопрос
Для обмена документами я хотел бы сгенерировать OpenOffice.org текстовые документы и электронные таблицы.Пока что я нашел компоненты экспорта, для которых требуется установка OpenOffice с использованием OLE.
Доступны ли уже компоненты Delphi, которые могут записывать собственные файлы для OpenOffice.org Writer или OpenOffice.org Calc?
Решение
Это зависит от того, насколько сложны ваши документы и сколько усилий вы хотите вложить.
OpenOffice.org документы (начиная с версии 2 OO.org) представляют собой файлы в Формат OpenDocument, в основном архивированные каталоги с документированной структурой, содержащие различные XML-файлы и файлы поддержки.Вы можете использовать, например, команду "Открыть внутри" 7-Застежка-молния перемещаться по файлам, как по каталогу.
Это дает вам, по крайней мере, следующие варианты:
Напишите код для вывода документов самостоятельно, потоковых классов Delphi и поддержки сжатия должно быть достаточно.Очевидно, что это самый трудный способ, но тогда у вас все будет под вашим контролем.
Сохраняйте минимальные документы в виде файлов шаблонов и добавляйте их в свое приложение в качестве файлов внешней поддержки или даже в качестве встроенных ресурсов.Когда необходимо записать файл, вы копируете шаблон и редактируете content.xml файл в корневом каталоге.Это должно быть намного проще, чем я, вероятно, пошел бы, чтобы создать, например, простой файл электронной таблицы с несколькими листами и столбцами данных.
Если у вас уже есть лицензия или вы не возражаете заплатить за нее, Быстрый отчет VCL поддерживает "Формат открытого документа для экспорта приложений Office (OASIS), электронных таблиц (ods) и текста (odt)".Возможно, существуют и другие решения для создания отчетов, но FastReport - это то, в чем я уверен.
Другие советы
Компонент fpspreadsheet от FPC / Lazarus может напрямую записывать старые форматы Excel, и OOO может их открывать.Если вам нужны электронные таблицы, а не текстовые документы, можно посмотреть, можно ли их перенести на Delphi.
В Lazarus я использую zexmlss компонент для экспорта в ODS.Этот компонент для lazarus, delphi и builder.Только для электронных таблиц.Формулы работают нормально.