Hallo,
habe hier ein Problem mit Jakarta POI. Ich möchte gern eine .xls-Datei erstellen, die einfachen Beispiele von der Apache Seite helfen mir aber nicht weiter. Folgender Code sei gegeben:
[highlight=Java]
public class XLSTestKlasse {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
public static void main(String[] args) throws IOException{
XLSTestKlasse testklasse = new XLSTestKlasse();
testklasse.createXLS();
}
private void createXLS() throws IOException {
HSSFRow row = sheet.createRow((short)0);
HSSFCell testzelle1 = row.createCell(0);
testzelle1.setCellValue(1);
// JEDE MENGE ANDERER CODE
testmethode();
// JEDE MENGE ANDERER CODE
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
}
private void testmethode() {
// JEDE MENGE ANDERER CODE
HSSFRow testrow = sheet.createRow((short)1);
HSSFCell testzelle1 = testrow.createCell(0);
testzelle1.setCellValue(13);
// JEDE MENGE ANDERER CODE
}
}
[/highlight]
Mein Problem ist jetzt, dass die Row- bzw. Cell-Objekte in der "testmethode()" nach dem Verlassen der Methode zerstört sind, und in der XLS-Datei nur die "row" aus der createXLS()"-Methode ankommt.
Die "testmethode()" ist in Wirklichkeit rel. komplex, und außerdem noch rekursiv angelegt, mit einer einfachen Arraylist der Werte und späterem Wegschreiben der Daten in die XLS-Datei kommt daher auch nicht in Frage.
Wie kann ich also mir also alle erstellten Cell- bzw Row-Objekte so merken oder erhalten, dass er zum Zeitpunkt des wb.write() alle wegschreibt?
Vorgaben sind max Java 5 und POI, leider kein JExcel, falls das eine Rolle spielt.
Grüße
Seppo
habe hier ein Problem mit Jakarta POI. Ich möchte gern eine .xls-Datei erstellen, die einfachen Beispiele von der Apache Seite helfen mir aber nicht weiter. Folgender Code sei gegeben:
[highlight=Java]
public class XLSTestKlasse {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
public static void main(String[] args) throws IOException{
XLSTestKlasse testklasse = new XLSTestKlasse();
testklasse.createXLS();
}
private void createXLS() throws IOException {
HSSFRow row = sheet.createRow((short)0);
HSSFCell testzelle1 = row.createCell(0);
testzelle1.setCellValue(1);
// JEDE MENGE ANDERER CODE
testmethode();
// JEDE MENGE ANDERER CODE
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
}
private void testmethode() {
// JEDE MENGE ANDERER CODE
HSSFRow testrow = sheet.createRow((short)1);
HSSFCell testzelle1 = testrow.createCell(0);
testzelle1.setCellValue(13);
// JEDE MENGE ANDERER CODE
}
}
[/highlight]
Mein Problem ist jetzt, dass die Row- bzw. Cell-Objekte in der "testmethode()" nach dem Verlassen der Methode zerstört sind, und in der XLS-Datei nur die "row" aus der createXLS()"-Methode ankommt.
Die "testmethode()" ist in Wirklichkeit rel. komplex, und außerdem noch rekursiv angelegt, mit einer einfachen Arraylist der Werte und späterem Wegschreiben der Daten in die XLS-Datei kommt daher auch nicht in Frage.
Wie kann ich also mir also alle erstellten Cell- bzw Row-Objekte so merken oder erhalten, dass er zum Zeitpunkt des wb.write() alle wegschreibt?
Vorgaben sind max Java 5 und POI, leider kein JExcel, falls das eine Rolle spielt.
Grüße
Seppo