Hallo,
ich hatte mich anfänglich darin versucht ein Word-Dokument über die Apache POI zu erstellen und entsprechend zu befüllen. Da dort einige Funktionen nicht zur Verfügung stehen, habe ich mich nun dazu entschieden das ganze über OOXML-Schemas (auf der auch die Apache POI irgendwie läuft) zu erstellen.
Dies funktioniert wunderbar und ich konnte soweit auch alles erstellen.
Leider gelingt es mir nicht eine Fußzeile mit einer Tabelle zu erstellen.
Nach etwas suche habe ich den Code hier gefunden. Leider lässt sich mit diesem nur Text in die Fußzeile schreiben.
[Java]CTP ctp = CTP.Factory.newInstance();
CTR ctr = ctp.addNewR();
CTRPr rpr = ctr.addNewRPr();
CTText textt = ctr.addNewT();
textt.setStringValue(" - Page 1 - ");
XWPFParagraph codePara = new XWPFParagraph(ctp, document);
XWPFParagraph[] newparagraphs = new XWPFParagraph[1];
newparagraphs[0] = codePara;
CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
XWPFHeaderFooterPolicy headerFooterPolicy = new XWPFHeaderFooterPolicy(document, sectPr);
headerFooterPolicy.createFooter(STHdrFtr.DEFAULT, newparagraphs);
[/code]
Mein Versuch das ganze per CTHdrFtr zu starten funktioniert leider nicht.
Auch Code Zeile 8 wird wohl falsch sein 
Wahrscheinlich fehlt auch noch etwas mehr an Code, aber ich weiß leider nicht was und hoffe, dass mir hier geholfen werden kann.
Vielen Dank im Voraus
Mit freundlichen Grüßen
Dommschwenker
ich hatte mich anfänglich darin versucht ein Word-Dokument über die Apache POI zu erstellen und entsprechend zu befüllen. Da dort einige Funktionen nicht zur Verfügung stehen, habe ich mich nun dazu entschieden das ganze über OOXML-Schemas (auf der auch die Apache POI irgendwie läuft) zu erstellen.
Dies funktioniert wunderbar und ich konnte soweit auch alles erstellen.
Leider gelingt es mir nicht eine Fußzeile mit einer Tabelle zu erstellen.
Nach etwas suche habe ich den Code hier gefunden. Leider lässt sich mit diesem nur Text in die Fußzeile schreiben.
[Java]CTP ctp = CTP.Factory.newInstance();
CTR ctr = ctp.addNewR();
CTRPr rpr = ctr.addNewRPr();
CTText textt = ctr.addNewT();
textt.setStringValue(" - Page 1 - ");
XWPFParagraph codePara = new XWPFParagraph(ctp, document);
XWPFParagraph[] newparagraphs = new XWPFParagraph[1];
newparagraphs[0] = codePara;
CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
XWPFHeaderFooterPolicy headerFooterPolicy = new XWPFHeaderFooterPolicy(document, sectPr);
headerFooterPolicy.createFooter(STHdrFtr.DEFAULT, newparagraphs);
[/code]
Mein Versuch das ganze per CTHdrFtr zu starten funktioniert leider nicht.
Java:
CTBody body = document.getDocument().getBody();
CTSectPr sectPr = body.getSectPr();
CTHdrFtrRef hdrftrref = sectPr.addNewFooterReference();
hdrftrref.setType(STHdrFtr.DEFAULT);
hdrftrref.setId(/* hier weiß ich nicht, was ich hinschreiben muss; verlangt wird ein String */);
CTHdrFtr ftr = FtrDocument.Factory.newInstance().addNewFtr();
CTTbl table = ftr.addNewTbl();
CTRow row00 = table.addNewTr();
CTTc cell0000 = row00.addNewTc();
CTP p0000 = cell0000.addNewP();
CTR r0000 = p0000.addNewR();
CTText t0000 = r0000.addNewT();
t0000.setStringValue("0000");
CTTc cell0001 = row00.addNewTc();
CTP p0001 = cell0001.addNewP();
CTR r0001 = p0001.addNewR();
CTText t0001 = r0001.addNewT();
t0001.setStringValue("0001");
Wahrscheinlich fehlt auch noch etwas mehr an Code, aber ich weiß leider nicht was und hoffe, dass mir hier geholfen werden kann.
Vielen Dank im Voraus
Mit freundlichen Grüßen
Dommschwenker