OpenOffice.org#

OpenOffice.org (kurz: OOo) ist ein freies Office-Paket, das aus einer Kombination verschiedener Programme zur Textverarbeitung, Tabellenkalkulation, Präsentation und zum Zeichnen besteht. Ein Datenbankprogramm und ein Formeleditor sind ebenfalls enthalten.
(aus: http://de.wikipedia.org/wiki/OpenOffice.org)

Serienbriefe#

Man kann sehr einfach und schnell aus einer Calc-Tabelle mit Adressen und einem Writer-Brief einen Serienbrief erstellen. Eine einfache deutsche Anleitung hierzu mit Screenshots gibt's unter http://www.uni-koeln.de/rrzk/kompass/115/k11510.html

Extensions#

Ab Version 2.2 wurde ein erweiterter Umgang mit Extensions eingebaut. (Link zu den most popular Extensions)
Extensions lassen sich, wo vorgesehen, über den Menüpunkt Extras, Extension-Manager... verwalten.

Hier eine Auswahl:


PDF-Import#

Nun beherrscht OOo neben eingebautem PDF-Export auch PDF-Import. (Link zur PDF-Import-Extension) Die Elemente werden jedoch zur Zeit als Zeichnungsobjekte angezeigt und lassen sich nur zeilenweise bearbeiten, Stand 19.11.2008.

Template-Paket II#

Mehr als 120 Templates für Writer, Impress und Calc hält das Template Paket II vor. (Link)

Sun Presenter Console#

In der Sun Presenter Console wird dem Vortragenden die abgelaufene Zeit angezeigt. Er kann Notizen während der Präsentation anmerken und erhält eine Vorschau der nächsten Folie, während das Publikum die jeweils aktuelle Folie sieht. (Link)

DataForm#

Mit der DataForm-Extension bildet OOo die Data Form Funktion aus MS-Excel nach. (Link)

Sun Report Builder (bzw. Oracle Report Builder)#

Der eingebaute Report-Assistent dient lediglich zu allereinfachsten Zwecken und kann eigentlich als Totalausfall angesehen werden. Das ist ein erweiterter Report-Generator, der auf einer Engine von Pentaho aufbaut. In der Praxis ist dieser Generator inzwischen brauchbar, macht aber immer noch einen sehr unfertigen Eindruck (oft stockt die Mausbedienung oder Elemente springen einfach hin und her etc.). Link Doku

Programmieren mit OOo#

Es gibt sowas wie eine offizielle API, mit der man direkt auf viele OOo-Eigenschaften zugreifen kann. So kann man z.B. OOo in einem Server-Modus starten und dann über einen TCP-Port Officedokumente übergeben und diese in PDF wandeln.

ThomasBayen ist stolzer Besitzer des Buchs Makros in OpenOffice.org 3. Es geht ausführlich und auf deutsch auf die Makrosprache OpenBasic/StarBasic ein. Dabei wird aber natürlich auch ausführlich auf das Objektmodell "UNO" eingegangen, das man im Server-Modus auch von außen z.B. aus Java heraus benutzen kann.

Datenbanktreiber, z.B. für PostgreSQL#

Unter Debian Squeeze gibt es ein Paket openoffice.org-sdbc-postgresql, nach dessen Installation man bei der Auswahl von Datenbanken sofort auch Postgres benutzen kann. Dieser Treiber liefert bei Fehlern im SQL-Code leider immer eine identische, nichtssagende Fehlermeldung (da waren die Meldungen von HSQL aufschlussreicher). Genauso kann man aber auch einen JDBC-Treiber (z.B. auch den PostgreSQL JDBC Treiber) benutzen. Dafür kopiert man die *.jar-Datei irgendwohin. Diese Datei trägt man dann in "Extras/Optionen..." unter "Java" und "Classpath" ein. Danach kann man in Base den JDBC-Treiber auswählen. Zur Angabe der entsprechenden Klasse sowie der Datenbank-URL schaut man am besten in die Doku des Treibers.

Literaturliste#

  • einzusehen bei ThomasBayen
    • Makros in OpenOffice.org 3 - deutsch, ganz gute Übersicht über das Dokumentmodell
    • OpenOffice.org 3 von Markt & Technik - (1175 Seiten) Gute deutsche Einführung in alle Teile des Programms. Angenehme Menge an Screenshots, so das man alles direkt versteht, ohne direkt vor dem Rechner sitzen zu müssen. Nach Jahren der Arbeit mit OpenOffice habe ich erstmalig Seitenformatvorlagen verstanden! :-) Wer im Büro ernsthaft mit OpenOffice arbeitet sollte ein Buch wie dieses hinter sich im Schrank stehen haben.

Template-Dokumente mit Freemarker-Syntax#

Sehr interessant ist auch JodReports. Es erlaubt, Templates mit der FreeMarker-Syntax zu erstellen. Es kann von der Kommandozeile aus aufgerufen werden, entfaltet seine volle LEistungsfähigkeit jedoch aus Java heraus.

Hochinteressant ist auch http://jodreports.sourceforge.net/. Es benutzt nicht die OOo-API, sondern dient dazu, ODF-Dokumente als Templates zu bearbeiten, in die man dann Parameter einsetzen kann. Es benutzt dazu Freemarker und erlaubt dadurch auch das Erzeugen von komplexeren Templates z.B. zum Erzeugen von Listen, bedingten Blöcken etc. Ich habe damit in einem Projekt einen OpenOffice-Server als Reportgenerator (als Alternative zu JasperReports) eingesetzt. Das Ganze funktioniert ganz gut, bedarf allerdings im Vergleich grosser Sorgfalt bei der Erstellung der Templates. Ein Vorteil ist hingegen, daß ein einmal erstelltes Template auch von Dummusern sehr leicht angepasst werden kann. -- ThomasBayen

Datenbanken benutzen#

OpenOffice bietet über die Komponente Base den Zugriff auf eine Datenbank. Im Grunde kann man hier auf jede Art Datenbank zugreifen, für die es einen JDBC- oder einen anderen Standard-Treiber gibt. Die Qualität dieser Komponente hinkte lange Zeit wesentlich hinter dem Vorbild "Microsoft Access" hinterher. Deshalb hier ein paar Worte zu verschiedenen Teilen und Aspekten von Base:

Datenbanksystem/HSQL/Calc-Datenquellen#

In allen Beschreibungen steht drin, das man sowohl HSQL- als auch externe Datenbankserver und auch Calc-Tabellen als Datenquellen benutzen kann. Was einem dabei nicht gesagt wird, sind die Konsequenzen, die das mit sich zieht. Nimmt man Calc-Tabellen als Datenquelle (hört sich ja erstmal prima an!), so geht vieles nicht, was irgendwie mit dem Verknüpfen, Sortieren und Selektieren von Daten zu tun hat. Und darum geht es ja nun meistens, wenn man eine Datenbank benutzen möchte... Eine Calc-Liste kann kein SQL und Base ersetzt dieses auch nicht!

Also habe ich das integrierte HSQL benutzt. Dieser Weg wird auch in fast allen Anleitungen beschritten. Hier gibt es zwei Probleme: Erstens darf man beim Editieren in der Listenansicht keine Zeile verlassen ohne vorher gespeichert zu haben (Ctrl-S oder das entspr. Symbol). Wer also meint, durch eine solche Liste wir durch ein Calc-Blatt hüpfen zu können, fällt schnell böse auf die Nase. Zum zweiten gibt es in der verwendeten HSQL Version 1.8 echte Fehler. Ich hatte hier einen LEFT JOIN, der einfach einen INNER JOIN machte. Anstatt auf die - sowieso leistungsfähigere - aktuelle Version (z.Zt. 2.3) upzugraden, passiert aber leider einfach nichts. :-(

Also meine Empfehlung: Dringend einen Datenbankserver benutzen. Bei mir funktionierte mit PostgreSQL auf einmal alles wunderbar und flüssig! :-)

Auswertungen in Calc-Tabellen#

In einem Gespräch am OpenOffice-Stand auf dem FrOSCon2010 kam ich im Gespräch über den Report-Generator auf eine alternative Methode:

Im OpenOffice Calc kann man mit F4 die sogenannten Datenquellen anzeigen. Dort kann man dann eine in Base definierte Datenbank sehen und Inhalte aus der Datenbank mit einer Mausbewegung in eine Calc-Tabelle übertragen. Diese Tabelle kann man dann wie in Calc üblich und von vielen Benutzern blind beherrscht bearbeiten und editieren. Um ein einem Datenbank-Bericht ähnliches Ergebnis zu erhalten, bietet es sich noch an, den Datenpilot zu benutzen. Der Entwickler dieses Datenpilots ist nach Angabe meiner Gesprächspartnerin sehr engagiert und hat diesen in den letzten Jahren zu einiger Reife gebracht (die Webseite http://www.datenpilot.org ist mir in diesem Zusammenhang ans Herz gelegt worden). Auf dieser Seite ist auch ein ausgezeichnetes deutsches Handbuch als PDF.

Der Datenpilot dient vor allem zur Erzeugung von Kreuztabellen, die aber in vielen Fällen bei Auswertungen sehr hilfreich sind. Einen klassischen Report mit Untergliederungen erzeugt man so nicht.

Mir erscheint es so, daß eine immer wiederkehrende, gleiche Lösung wahrscheinlich besser mit einem Bericht in Base erstellt wird, während man Benutzern, die für eine einmalige Auswertung ihrer Kreativität freien Lauf lassen wollen, auch Calc unter Zuhilfenahme von Datenquellen und Datenpilot empfehlen kann. So können diese Benutzer mit Calc ein Tool benutzen, mit dem sie sich von vorneherein besser auskennen und wo sie sich sicherer fühlen.

Damit kommen wir dann auch schon zum großen Wermutstropfen, den Berichten...

Berichte (Reports)#

Auf dem FrOSCon2010 habe ich mir sagen lassen, daß mit der dabei aktuellen Version 3.5 (gemeint war vielleicht 3.0.5) der Berichtsgenerator wirklich gut zu gebrauchen ist. Auch die Formulare zum Editieren von Datenbanken sollen im praktischen Einsatz brauchbar sein.

Eine nähere Beschäftigung mit dem Berichtsgenerator im August 2011 (LibreOffice 3.3.3) hat mir jedoch nochmals gezeigt, daß dieser im Grunde genommen gar nicht zu gebrauchen ist, wenn man nicht mit den ganz einfachen Listen zufrieden ist, die er von selber erstellt. Der Bericht kann überhaupt nicht ordentlich modifiziert werden. Ich habe es nicht geschafft, Felder, die im Berichts-Template angezeigt wurden, zu verschieben oder zu verändern, wie man das von einem Report-Generator erwarten würde. Dabei hat der Generator gegenüber anderen Report-Lösungen einen ganz besonderen Charme: Sowohl das Template als auch der spätere Bericht ist ein echtes Writer-Dokument, das man mit allen bekannten Mitteln ändern, formatieren, etc. kann (d.h. gerne können würde).

Als echte Verbesserung stellt sich die obengenannte Extension Sun Report Builder dar. Unter OpenOffice 3.2 hatte ich damit große Probleme, die erst bei LibreOffice 3.3.3 dazu führten, daß das Ding überhaupt benutzbar wurde. Dieser Report Builder ist zwar bis auf ein paar Eingabeprobleme ganz nett, aber da er auf der Pentaho-Engine basiert, ist er überhaupt nicht in OpenOffice integriert: Er erzeugt kein ordentliches Writer-Dokument, das man weiterbearbeiten könnte. Er erlaubt keine in OOo ganz normalen Formatierungen sondern hat komplett seine eigenen Wege, ein Dokument zu erzeugen.

Bis auf die Tatsache, das man zu Beginn Tabellen und Abfragen aus seiner Base-Konfiguration übernehmen kann, gibt es für Anwender, die öfters damit arbeiten wollen überhaupt keinen Vorteil gegenüber irgendeinem freistehenden Report-Generator. Und da empfehle ich z.B. iReport von JasperReports. Wahrscheinlich ist sogar der freistehende Pentaho Generator fehlerfreier und aktueller als diese in OpenOffice reingefriemelte Lösung.


Tags:  Datenbank, Office

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-7) was last changed on 18-Feb-2014 14:34 by Thomas Bayen