2009-05-22 23 views
5

Pour l'échange de documents, je voudrais générer du texte et des tableurs OpenOffice.org. Jusqu'à présent, j'ai trouvé des composants d'exportation qui nécessitent l'installation d'OpenOffice, en utilisant OLE.Existe-t-il des composants d'exportation OpenOffice.org pour Delphi (non-OLE)?

Existe-t-il déjà des composants Delphi capables d'écrire des fichiers natifs pour OpenOffice.org Writer ou OpenOffice.org Calc?

Répondre

3

Cela dépend de la complexité de vos documents et de l'effort que vous souhaitez investir.

Les documents OpenOffice.org (à partir de la version 2 de OO.org) sont des fichiers du répertoire OpenDocument Format, essentiellement des répertoires compressés avec une structure documentée, contenant divers fichiers XML et de support. Vous pouvez utiliser par exemple la commande "Open Inside" de 7-Zip pour naviguer dans les fichiers comme un répertoire.

Cela vous donne au moins les options suivantes:

  • Recopiez le code à la sortie des documents vous-même, le soutien des classes de flux Delphi et la compression devrait être suffisant. C'est évidemment la manière la plus difficile, mais vous auriez tout sous votre contrôle.

  • Enregistrez des documents minimaux en tant que fichiers modèles et ajoutez-les à votre application en tant que fichiers de support externes ou même en tant que ressources intégrées. Lorsqu'un fichier doit être écrit, copiez le modèle et modifiez le fichier content.xml dans le répertoire racine. Cela devrait être beaucoup plus facile, un moyen que j'irais probablement pour créer par exemple un simple tableur avec plusieurs feuilles et colonnes de données. Si vous possédez déjà la licence ou que vous n'avez pas d'intérêt à payer pour cela, FastReport VCL prend en charge les exportations, les feuilles de calcul (ods) et les textos (odt) au format Open Document Format pour les applications Office (OASIS). Peut-être qu'il existe d'autres solutions de reporting, mais FastReport est celui dont je suis sûr.

1

Le composant fpspreadsheet de FPC/Lazarus peut directement écrire des formats Excel plus anciens et OOO peut les ouvrir. Si vous avez besoin de feuilles de calcul plutôt que de documents texte, il peut être une option pour voir si elle peut être portée sur Delphi.

1

Dans Lazarus, j'utilise le composant zexmlss pour l'exportation vers ODS. Ce composant pour lazarus, delphi et builder. Seulement pour les feuilles de calcul. Les formules fonctionnent bien.