Hallo in die Forengemeinde,
ich bin neu hier und stehe irgendwie vor einem Problem, das ich nicht so recht weiß, wie ich es lösen soll.
Zum Hintergrund:
Ich habe mir eine kleine Anwendung geschrieben, in die ich verschiedene Angaben eintragen, berechnen und abschließend in eine Datenbank (MS-Access) schreiben kann.
Dies funktioniert soweit auch problemlos.
Anfänglich habe ich entsprechende Auswertungen direkt aus der Datenbank in Excel übertragen, dies habe ich mittlerweile mit der Apache POI (HSSF) geändert, sodass mir entsprechende Angaben direkt in eine Excel-Tabelle eingetragen und gespeichert werden, sodass diese direkt druckfertig ist.
Andere Daten habe ich per itextpdf direkt an eine zuvor erstelle PDF-Vorlage übergeben, die nur die entsprechenden Felder ausgefüllt und die PDF-Datei gespeichert hatte.
Nun würde ich dies gerne entsprechend von itextpdf auf Word über die Apache POI umstellen, da ich somit auch den Text ggf. im Nachgang noch ohne großen Aufwand editieren könnte.
Hierbei ergeben sich leider eine menge Probleme bei mir, aufgrund meiner fehlenden Kenntnisse in der Java-Programmierung. Daher suche ich Hilfe hier im Forum.
Das Schreiben (Brief) welches ich in Word erstellen möchte, muss einen gewissen Grundriss aufweisen.
Eine Vorlage habe ich mal als Bild beigefügt.
Der obere Teil (Tabelle) soll halt Logo, Absender, Empfänger, Bearbeiter sowie Betreff enthalten.
Der untere Teil (Tabelle) soll Angaben u.a. wie Bankverbindung und Öffnungszeiten enthalten.
Dazwischen natürlich der entsprechende Text ggf. auch über mehrere Seiten hinweg.
Genial wäre natürlich auch noch die Seitenmarkierungen zum Knicken bzw. Lochen
Mein erstes Problem ist jetzt, erstelle ich diesen Grundriss per Java (sofern dies überhaupt möglich ist) oder ist es sinnvoller eine Word-Vorlage zu erstellen (.dot / .dotx), diese zu laden, zu befüllen und dann als Word-Datei (.docx) abzuspeichern?
Zu meiner ersten Idee (alles per Java) häufen sich meine Probleme:
A1.) Wie richte ich z.B. die Seitenränder bei Word ein? Bei Excel ging dies sehr einfach per sheet.setMargin(Sheet.LeftMargin, 0.25);
A2.) Wie richte ich die Tabelle ein? Ich denke mal, die Tabelle erstellen und Zeilen verbinden wäre hier einfach; aber keine Ahnung wie ich die Zellen verbinde.
A3.) Wie erstelle ich die Fußzeile und wie schreibe ich dorthin. (Ging bei Excel für die Kopfzeile leichter )
Bei meiner zweiten Idee (Word-Vorlage):
B1.) Wie lade ich die Vorlage, sodass ich später mit der Apache POI weiter daran arbeiten kann?
B2.) Wie navigiere ich dann in der Vorlage (getTable? getRow? getCell? wie komme ich weiter im Dokument bzw. wie kann die Cursor-Position bestimmen für den Text in die Mitte? Oder muss ich in der Vorlage überall Textmarken anbringen und diese dann ansprechen und den Rest per Paragraph und Run befüllen?
Bei beiden Varianten habe ich noch allgemeine Probleme:
C1.) Wie verändere ich den Zeilenabstand unter Absatz? Dieser ist bei mir wenn ich die erstelle Word-Datei öffne immer "Mehrfach" 1,15. Ich möchte jedoch nur einfach. Den Abstand Vor und Nach habe ich schon getestet. Der funktioniert.
C2.) Wie kann ich "normale" Tabsprünge erzeugen? Gefunden hatte ich nur die Möglichkeit mit "\t" dies erzeugt mir aber nur ein Leerzeichen und keinen "normalen" Tabsprung (also diesen Pfeil, wenn man Absatzmarken an hat).
C3.) Kann ich Tabstops festlegen, um z.B. Dezimalzahlen untereinander zu positionieren?
Ich weiß, viele Fragen, ich hoffe dennoch, das Ihr mir weiterhelfen könnt.
PS: Es sei noch erwähnt, dass aufgrund meiner fast nicht mehr vorhandenen englisch Kenntnissen das Ganze weiterhin erschwert wird.
Vielen Dank im Voraus
Mit freundlichen Grüßen
Dommschwenker
ich bin neu hier und stehe irgendwie vor einem Problem, das ich nicht so recht weiß, wie ich es lösen soll.
Zum Hintergrund:
Ich habe mir eine kleine Anwendung geschrieben, in die ich verschiedene Angaben eintragen, berechnen und abschließend in eine Datenbank (MS-Access) schreiben kann.
Dies funktioniert soweit auch problemlos.
Anfänglich habe ich entsprechende Auswertungen direkt aus der Datenbank in Excel übertragen, dies habe ich mittlerweile mit der Apache POI (HSSF) geändert, sodass mir entsprechende Angaben direkt in eine Excel-Tabelle eingetragen und gespeichert werden, sodass diese direkt druckfertig ist.
Andere Daten habe ich per itextpdf direkt an eine zuvor erstelle PDF-Vorlage übergeben, die nur die entsprechenden Felder ausgefüllt und die PDF-Datei gespeichert hatte.
Nun würde ich dies gerne entsprechend von itextpdf auf Word über die Apache POI umstellen, da ich somit auch den Text ggf. im Nachgang noch ohne großen Aufwand editieren könnte.
Hierbei ergeben sich leider eine menge Probleme bei mir, aufgrund meiner fehlenden Kenntnisse in der Java-Programmierung. Daher suche ich Hilfe hier im Forum.
Das Schreiben (Brief) welches ich in Word erstellen möchte, muss einen gewissen Grundriss aufweisen.
Eine Vorlage habe ich mal als Bild beigefügt.
Der obere Teil (Tabelle) soll halt Logo, Absender, Empfänger, Bearbeiter sowie Betreff enthalten.
Der untere Teil (Tabelle) soll Angaben u.a. wie Bankverbindung und Öffnungszeiten enthalten.
Dazwischen natürlich der entsprechende Text ggf. auch über mehrere Seiten hinweg.
Genial wäre natürlich auch noch die Seitenmarkierungen zum Knicken bzw. Lochen
Mein erstes Problem ist jetzt, erstelle ich diesen Grundriss per Java (sofern dies überhaupt möglich ist) oder ist es sinnvoller eine Word-Vorlage zu erstellen (.dot / .dotx), diese zu laden, zu befüllen und dann als Word-Datei (.docx) abzuspeichern?
Zu meiner ersten Idee (alles per Java) häufen sich meine Probleme:
A1.) Wie richte ich z.B. die Seitenränder bei Word ein? Bei Excel ging dies sehr einfach per sheet.setMargin(Sheet.LeftMargin, 0.25);
A2.) Wie richte ich die Tabelle ein? Ich denke mal, die Tabelle erstellen und Zeilen verbinden wäre hier einfach; aber keine Ahnung wie ich die Zellen verbinde.
A3.) Wie erstelle ich die Fußzeile und wie schreibe ich dorthin. (Ging bei Excel für die Kopfzeile leichter )
Bei meiner zweiten Idee (Word-Vorlage):
B1.) Wie lade ich die Vorlage, sodass ich später mit der Apache POI weiter daran arbeiten kann?
B2.) Wie navigiere ich dann in der Vorlage (getTable? getRow? getCell? wie komme ich weiter im Dokument bzw. wie kann die Cursor-Position bestimmen für den Text in die Mitte? Oder muss ich in der Vorlage überall Textmarken anbringen und diese dann ansprechen und den Rest per Paragraph und Run befüllen?
Bei beiden Varianten habe ich noch allgemeine Probleme:
C1.) Wie verändere ich den Zeilenabstand unter Absatz? Dieser ist bei mir wenn ich die erstelle Word-Datei öffne immer "Mehrfach" 1,15. Ich möchte jedoch nur einfach. Den Abstand Vor und Nach habe ich schon getestet. Der funktioniert.
C2.) Wie kann ich "normale" Tabsprünge erzeugen? Gefunden hatte ich nur die Möglichkeit mit "\t" dies erzeugt mir aber nur ein Leerzeichen und keinen "normalen" Tabsprung (also diesen Pfeil, wenn man Absatzmarken an hat).
C3.) Kann ich Tabstops festlegen, um z.B. Dezimalzahlen untereinander zu positionieren?
Ich weiß, viele Fragen, ich hoffe dennoch, das Ihr mir weiterhelfen könnt.
PS: Es sei noch erwähnt, dass aufgrund meiner fast nicht mehr vorhandenen englisch Kenntnissen das Ganze weiterhin erschwert wird.
Vielen Dank im Voraus
Mit freundlichen Grüßen
Dommschwenker