Erstellen Sie mit dem ODF Toolkit ein einfaches Tabellendokument

Wenn Sie die Aufgabe haben, einige einfache Berichte zu erstellen, und Ihre Benutzer Open Office verwenden, müssen Sie keine großen Berichtssysteme wie Bird, Jasper oder deren Analoga verwenden.

Das ODF Toolkit eignet sich hervorragend für diese Aufgabe.

ODF Toolkit ist laut Informationen auf der offiziellen Website eine Reihe von Java-Modulen, mit denen Sie Dokumente im Format eines geöffneten Dokuments (ISO / IEC 26300 == ODF) erstellen, scannen oder bearbeiten können. Im Gegensatz zu anderen Ansätzen, die auf Laufzeitmanipulationen mit umfangreichen Editoren über die Automatisierungsschnittstelle basieren, ist das ODF-Toolkit leicht und ideal für die Verwendung auf dem Server.

Bild

Ich arbeite an einem Projekt zur Automatisierung interner Geschäftsprozesse. Oft fordern Benutzer Berichte zu kumulativen Informationen an. Aufgrund der Tatsache, dass Open Office bei der Agricultural Bank sehr verbreitet ist, wird Bird zum Erstellen von Berichten verwendet.

Sie können damit jedes Dokumentformat generieren. Im Prinzip eine großartige Lösung, einfach, verständlich, aber es wurde interessant, ob es möglich ist, dasselbe in Java zu implementieren.

Also habe ich mich mit dem ODF Toolkit getroffen.

Ich werde eine Reihe grundlegender Methoden beschreiben. Weitere Informationen finden Sie auf der Projektseite von odftoolkit.org . Beginnen

wir also mit der Erstellung eines Dokuments:

TextDocument doc = TextDocument.newTextDocument();

Danach erstellen wir einen Absatz. Wenn es sich um Apache Poi handelt (eine ähnliche Bibliothek, jedoch nur für das Wortformat), sind es ein paar Zeilen, und hier ist alles recht kurz:

Paragraph subparagraphHeaderOne = doc.addParagraph(“”);

Und wenn wir den Text im nächsten Schritt zuweisen möchten, können wir eine ähnliche Konstruktion verwenden:

Paragraph subparagrafFilial = paragraphHeader.addParagraph(null);

Ein Beispiel für das Erstellen eines Apache-Poi-Absatzes:

XWPFParagraph paragraphHeader = xwpfDocument.createParagraph();
   XWPFRun subpargraphHeader = paragraphHeader.createRun();
        subpargraphHeader.setText(“”);
        subpargraphHeader.addBreak();

Persönlich bin ich von dieser Prägnanz fasziniert, aber mache weiter.

Erstellen von Stilen für einen Absatz:

OdfOfficeStyles styles = doc.getOrCreateDocumentStyles ();
       OdfStyle style = styles.newStyle ( "Source Text", OdfStyleFamily.Paragraph );
          style.setProperty ( OdfParagraphProperties.VerticalAlign, "#middle");
          paragraph.getOdfElement().setStyleName("Source Text");

Aber es gibt ein kleines Problem, laut offizieller Dokumentation geschieht die Stilzuweisung wie folgt:

paragraph.setStyleName("Source Text")

Bild

Leider funktioniert es nicht so, was eine gewisse Menge an Nervenzellen und Zeit kostet, um eine Lösung zu finden.

Erstellen einer Tabelle:

Table TableOne = doc.addTable( , );

Das Arbeiten mit Zellen ist sowohl durch Erstellen eines neuen Absatzes als auch direkt mit der Zelle selbst möglich.

Durch Erstellen eines neuen Absatzes:

Paragraph cellOne = Paragraph.newParagraph(subparagraphTableOne.getCellByPosition(0, 1));
 cellOne.appendTextContent("");

Direkt mit einer Zelle:

Cell cellOne = subparagraphTableOne.getCellByPosition(0, 0);
 cellOne.setStringValue("")

Arbeiten mit einem Tabellenstil und seinen Rändern:

Erstellen Sie einen Rand:

Border border= new Border(Color.WHITE, 2, StyleTypeDefinitions.SupportedLinearMeasure.PT);

Die erste Variable ist die Auswahl des Rahmens, auf den der Stil angewendet wird:

table.getRowByIndex(0).getCellByIndex(1).setBorders(StyleTypeDefinitions.CellBordersType.BOTTOM, border);

Legen Sie den Schriftstil fest:

Font font = new Font("Times New Roman", StyleTypeDefinitions.FontStyle.REGULAR, 12);

Ich möchte diesen kurzen Rückblick abschließen. Wenn Sie das Projekt interessiert, finden Sie auf der Projektwebsite von odftoolkit.org einen erweiterten Leitfaden für die Arbeit mit dieser API.

Ich hoffe, dieser Artikel hilft jemandem, den einfacheren Weg zu gehen.

All Articles