# Java Application und OpenOffice



## Camino (14. Jan 2010)

Hallo,

ich hab da mal ne Frage: ist es möglich, Komponenten von OpenOffice in Java-Programme einzubinden? Das Problem ist, dass ich eine MSAccess-Anwendung nach OpenOffice Base (auf Linux mit PostgreSQL) umwandeln soll. Kleinere Teile von OOo Calc spielen dabei auch eine Rolle, d.h es werden in einer Calc-Datei Berechnungen durchgeführt, die in die Base-Anwendung übernommen werden müssen, und auch ausgedruckt werden sollen. Nach einiger Zeit erscheint mir aber OpenOffice doch etwas zu kompliziert und teilweise noch nicht ganz ausgereift (speziell Base). Eigentlich würde ich das ganze ja viel lieber mit Java programmieren und - nur wenn nötig - Komponenten von OpenOffice in das Programm einbinden. Ich denke aber, das meiste dürfte mit Java viel kompakter zu programmieren sein. D.h. ich müsste dann wirklich alles selbst programmieren, hätte dann aber auch mehr Freiheiten. Vielleicht ist es ja auch alles komplett in Java zu realisieren und ich könnte auf OpenOffice ganz verzichten. Ich bin nun etwas ratlos, aber ich denke OpenOffice Base ist nicht dafür da, eine eigenständige Anwendung zu erstellen. Von den vielen Bugs und Verbesserungsmöglichkeiten mal abgesehen. Hat von euch jemand ähnliche Erfahrungen und kann mich in meiner Abneigung zu OpenOffice unterstützen oder dies widerlegen? Gibt es Vorteile/Nachteile, die für oder wider OpenOffice gegen Java-Applikation sprechen?

Viele Grüsse
Camino


----------



## Wildcard (14. Jan 2010)

Du kannst OpenOffice komplett per Java (und anderen Sprachen) bedienen und sogar die OpenOffice Oberfläche in Java Programme embedden. Siehe dazu UNO bzgw. die einfachere Variante Nice Office Access &mdash; ubion.ORS


----------



## Camino (14. Jan 2010)

Ich würde halt eigentlich gerne eine komplexe eigenständige Anwendung erstellen. Das scheint mir mit OpenOffice Base nicht so richtig möglich zu sein. Vielleicht ist es auch garnicht dafür geeignet. Alleine schon die Erstellung von Formularen mit eigenen Menüleisten und/oder Symbolleisten treibt einen in den Wahnsinn. In OpenOffice Base ist das so ein Mischmasch aus automatisch bereitgestellten Komponenten (z.B. Formulare an Datenquellen gebunden) und selbst programmierten Basic Makros. Auch muss ich schauen, wie ich die Teile der OOo IDE verschwinden lasse, damit die späteren Benutzer da nicht mehr was verändern können. Wie gesagt, ich müsste die Anwendung an PostgreSQL anbinden (eine Datenbank mit mehreren - etwa 14 - Tabellen, die zum Teil auch noch miteinander verknüpft sind). Es gibt eine Calc-Datei mit vielen Formeln, die ich gerne in die Java-Anwendung integrieren würde. Ein errechneter Wert dieser Calc-Datei sollte dann in die Java-Anwendung übernommen werden können und die Calc-Datei mit ihren Werten ausgedruckt werden können. Ausserdem sollten noch Textdokumente aus Textbausteinen und Daten aus der Datenbank erstellt werden können, E-Mails aus der Anwendung heraus vesendet werden können. Das scheint mir mit einer in Java programmierten Anwendung unkomplizierter zu sein, als nur in OpenOffice.

Leider ist UNO für OOo (und auch andere Programmiermöglichkeiten z.B. in Basic) für mich nicht besonders gut dokumentiert. Oder ich finde mich da einfach nicht zurecht. Gibt es denn eine relativ einfache Einführung in die Programmierung von OpenOffice mit UNO?

Viele grüsse
Camino


----------



## MQue (15. Jan 2010)

Schau dir das mal an: 
OpenOffice.org mit Java automatisieren - Kaffeefahrt - Programmierung - Software - magnus.de


----------



## Camino (15. Jan 2010)

Hey, danke. Das werde ich mir mal durchlesen...


----------



## Camino (17. Jan 2010)

Hallo,

ich bin langsam der Überzeugung, dass die Umsetzung mit OpenOffice zu kompliziert wird, bzw. dass OpenOffice dafür nicht so richtig geeignet ist. Vielleicht sollte ich doch lieber eine Java-Anwendung erstellen. Ich kann ja mal hier reinschreiben, was die Anwendung alles können soll, vielleicht kann mir dann wer einen Tipp geben, was geht und was nicht. Ich denke nämlich, dass eine Java-Anwendung (in Swing) dafür geeigneter ist.

- Die Anwendung soll unter Linux laufen.
- Es soll eine Verwaltung von Daten werden.
- Es sollen mehrere Clientanwendungen auf eine PostgreSQL-Datenbank in einem lokalen Netzwerk zugreifen.
- Die Struktur der Datenbank ist schon fertig (ca. 14 Tabellen, zum Teil miteinander verknüpft).
- Es geht hauptsächlich um Eingabe und Änderung der Daten in der DB über Formulare, sowie die aufbereitete Darstellung (Filter, Sortierung, Druck) der Daten.
- Es müsste teilweise auch ein Datenaustausch zwischen Anwendung und OOo-Komponenten möglich sein. Soll ja möglich sein, dass OOo-Komponenten auch in Java-Anwendungen eingebettet werden können.
- Ein OOo Calc-Dokument soll aus der Java-Anwendung heraus aufgerufen werden können. In dieses Dokument sollen Daten eingegeben werden können, die einen Wert berechnen, welcher zurück in die Anwendung gegeben werden soll. Das Calc-Dokument soll noch nicht mal ausgefüllt gespeichert werden, sondern nur ausgedruckt.
- Aus der Anwendung heraus sollen Writer-Dokumente erstellt werden, in die Daten aus der Datenbank reingeschrieben werden.
- Die Anwendung soll auch Mails über Thunderbird verschicken können.

So, das wären jetzt erst mal die Anforderungen an die Anwendung, von der ich nach monatelangem K(r)ampf mit OpenOffice nun zu der Meinung gekommen bin, dass Java dafür geeigneter wäre. Vielleicht kann mich ja mal in dieser Meinung stärken oder widerlegen. Wäre sehr dankbar für einen Schubs in die richtige Richtung...

Viele Grüsse
Camino


----------

