Also ich habe ein Excel-Template das wie folgt ausschaut:
Template anzeigen
Ich will daher dieses Template mit HSSF importieren und in den anderen Sheets die Zellen
mit Daten füllen. Leider klappt der Import nicht wie gewünscht, d.h. Diagramme und Grafiken werden
nicht korrekt importiert. Ich bin darauf angewiesen ein Template zu benutzen, da sich das Template
später verändern können soll. Was kann ich machen oder funktioniert das ganze mit HSSF nicht?
Ein anderer Lösungsansatz wäre nur die Zellen zu verändern ohne das Template zu öffen oder ein zweites File zu erstellen und diese dann zusammenzufügen, aber hierzu hab ich auch nichts im web gefunden.
Hier mein TestCode:
Template anzeigen
Ich will daher dieses Template mit HSSF importieren und in den anderen Sheets die Zellen
mit Daten füllen. Leider klappt der Import nicht wie gewünscht, d.h. Diagramme und Grafiken werden
nicht korrekt importiert. Ich bin darauf angewiesen ein Template zu benutzen, da sich das Template
später verändern können soll. Was kann ich machen oder funktioniert das ganze mit HSSF nicht?
Ein anderer Lösungsansatz wäre nur die Zellen zu verändern ohne das Template zu öffen oder ein zweites File zu erstellen und diese dann zusammenzufügen, aber hierzu hab ich auch nichts im web gefunden.
Hier mein TestCode:
Code:
//kopieren und öffnet das Excel-Template
HSSFWorkbook wb;
try{
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream("C:/testxls"));
wb = new HSSFWorkbook(fs);
}
catch(Exception e) {
out.println("Template konnte nicht geöffnet werden! Error");
out.println(e.getMessage()+ENDL);
return;
}
//füllen des Versuchs-Sheets
HSSFSheet versuche_sheet = wb.getSheetAt(2);
HSSFRow row = versuche_sheet.getRow(2);
HSSFCell cell = row.getCell((short)3);
try{
if (cell == null)
cell = row.createCell((short)3);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("Funkyie");
}
catch(Exception e) {
out.println("Zelle konnte nicht geschrieben werden! Error");
out.println(e.getMessage()+ENDL);
}
//File schreiben und schließen
try{
FileOutputStream fileOut = new FileOutputStream("C:/test_ziel.xls");
wb.write(fileOut);
fileOut.close();
}
catch(Exception e){
out.println("File konnte nicht geschrieben werden! Error");
out.println(e.getMessage()+ENDL);
return;
}