Существуют ли компоненты экспорта OpenOffice.org для Delphi (не OLE)? - PullRequest
5 голосов
/ 22 мая 2009

Для обмена документами я бы хотел сгенерировать текст OpenOffice.org и документы электронных таблиц. До сих пор я нашел компоненты экспорта, которые требуют установки OpenOffice, используя OLE.

Уже существуют доступные компоненты Delphi, которые могут записывать собственные файлы для OpenOffice.org Writer или OpenOffice.org Calc?

Ответы [ 3 ]

3 голосов
/ 22 мая 2009

Это зависит от того, насколько сложны ваши документы и сколько усилий вы хотите инвестировать.

Документы OpenOffice.org (начиная с версии 2 OO.org) представляют собой файлы в формате OpenDocument Format , в основном это сжатые каталоги с документированной структурой, содержащие различные XML-файлы и файлы поддержки. Вы можете использовать, например, команду «Открыть изнутри» 7-Zip , чтобы перемещаться по файлам как каталог.

Это дает вам по крайней мере следующие возможности:

  • Напишите код для вывода документов самостоятельно, классов потока Delphi и поддержки сжатия должно быть достаточно. Это, безусловно, самый сложный путь, но у вас все будет под вашим контролем.

  • Сохраните минимальные документы в виде файлов шаблонов и добавьте их в свое приложение в качестве внешних файлов поддержки или даже в качестве встроенных ресурсов. Когда необходимо записать файл, скопируйте шаблон и отредактируйте файл content.xml в корневом каталоге. Это должно быть намного проще, и я бы, вероятно, решил создать простой файл электронной таблицы с несколькими листами и столбцами данных.

  • Если у вас уже есть лицензия или вы не возражаете заплатить за нее, FastReport VCL поддерживает «Экспорт формата открытых документов для приложений Office (OASIS), электронных таблиц (ods) и текста ( а.с.)». Может быть, есть и другие решения для отчетности, но я уверен, что FastReport - это

1 голос
/ 22 января 2013

В Lazarus я использую zexmlss компонент для экспорта в ODS. Этот компонент для Lazarus, Delphi и Builder. Только для электронных таблиц. Формулы работают отлично.

1 голос
/ 24 мая 2009

Компонент fpspreadsheet FPC / Lazarus может напрямую записывать старые форматы Excel, а OOO может их открывать. Если вам нужны электронные таблицы, а не текстовые документы, можно проверить, можно ли их перенести в Delphi.

...