jexcelapi importSheet leere seite wird importiert

tplanitz

Erfahrenes Mitglied
Hallo,

ich habe auf Euren Rat hin begonnen mit der jExcelApi zu arbeiten. Eine knifflige Sache habe ich:
-- In meiner *.xls Datei möchte ich gerne "sheets" aus einer oder mehr anderen Dateien von der Festplatte anfügen.
Ich habs mit folgendem Programm probiert, leider wird mir immer nur ein leeres sheet angehangen...
Kann jemand helfen ?

PHP:
        System.out.println("---------- Workbook schreiben ----------");
        
        WritableWorkbook workbookout = Workbook.createWorkbook(new File("e:/output.xls"));
        // erstes sheet einhängen
        WritableSheet sheetout = workbookout.createSheet("FirstSheet",0);
        // zweites sheet anhängen
        WritableSheet sheetout2 = workbookout.createSheet("SecondSheet",1);
        // ein bisschen was in zellen schreiben
        Label label = new Label(0, 2, "A label record");
        sheetout.addCell(label);
        Number number = new Number(1,7,3.145968);
        sheetout2.addCell(number);
        
        // inhalt aus einer xls datei holen
        File myFileIn = new File("e:/foo2.xls");
        Workbook workbook2 = Workbook.getWorkbook(myFileIn);
        Sheet sheet2 = workbook2.getSheet(0);
       
        // sicherheitshalber schaun ob wirklich was im sheet steht
        for (int row=0; row<sheet2.getRows(); row++) {
            for (int column=0; column<sheet2.getColumns(); column++) {
                Cell cell = sheet2.getCell(column,row);
                String stringa1 = cell.getContents();
                System.out.print(stringa1);
                System.out.print(" " + "|" + " ");

            }
            System.out.println();
            stringwriter.flush();
        }
        
        // hier importieren -> funktioniert leider nicht sheet wird geschrieben ist aber leer
        workbookout.importSheet("new of foo2",2,sheet2);
        // noch ein anderes sheet am index 3 anhängen
        WritableSheet sheetout4 = workbookout.createSheet("fourtsSheet",3);
              
        // All sheets and cells added. Now write out the workbook
        workbookout.write();
        workbookout.close();

Vielen Dank für Hilfe
 
Das Problem scheint ja schon seit längerem zu bestehen. In der momentanen Version 2.6.10. besteht das Problem immer noch. Dies ist ganz klar ein Bug.

Wens interessiert: Dieser kommt offensichtlich zu stand, da beim importierten Excelsheet dir Row Anzahl intern nicht korrekt gesetzt wird. Konkret ist diese beim kopierten Sheet auf 0. Somit wird beim Rausschreiben auf die Festplatte auch genau bis zu Zeile 0 geschrieben :mad:

Man könnte das Problem umgehen indem man mindestens in der untersten Zeile noch eine neue Zelle befüllt/anhängt.

Ich versuchs jetzt auf jedenfall eher mal damit: http://poi.apache.org/spreadsheet/index.html
 

Neue Beiträge

Zurück