2017-05-04 1 views
1

Ich brauche Hilfe beim Exportieren von Daten in eine Excel-Datei.Exportieren von Daten zu Excel mit Java - keine Zeilen erstellt

Die Zellen für Zeile 12 funktionieren einwandfrei, aber die Zellen für rowItems zeigen überhaupt nichts an.

Die Codes sollten eine Liste von Elementen und ihre Attribute aus der Datenbank exportieren.

Row row12 = sheet.createRow(11); 
    Cell c12[] = new Cell[maxCols]; 

    for(int i = 0; i <c12.length; i++){ 
     c12[i] = row12.createCell(i); 
     c12[i].setCellStyle(tableHeader2Bottom); 
    } 

    c12[0].setCellValue("1"); 
    c12[1].setCellValue("2"); 
    c12[2].setCellValue("3"); 
    c12[3].setCellValue(""); 
    c12[4].setCellValue("4"); 
    c12[5].setCellValue("5"); 
    c12[6].setCellValue("6"); 
    c12[7].setCellValue("7"); 
    c12[8].setCellValue("8"); 
    c12[9].setCellValue("9"); 
    c12[10].setCellValue("10"); 
    c12[11].setCellValue("11"); 
    c12[12].setCellValue("13"); 
    c12[13].setCellValue("14"); 
    c12[14].setCellValue("15"); 
    c12[15].setCellValue("16"); 

    Row rowItems[] = new Row[items.size()]; 
    Cell cItems[][] = new Cell[items.size()][maxCols]; 
    int startRow = 11; 
    int endRow = 0; 
    if(items.size() == 0){ 
     endRow = startRow; 
    } 
    for(int i = 0; i < items.size(); i++){ 
     rowItems[i] = sheet.createRow(i+startRow); 
     for(int j = 0; j < cItems[i].length; j++){ 
      cItems[i][j] = rowItems[i].createCell(j); 
      cItems[i][j].setCellStyle(borderedCell); 
     } 
     cItems[i][0].setCellValue(items.get(i).getName()); 
     cItems[i][1].setCellValue(1); 
     cItems[i][2].setCellValue(items.get(i).getUnitCost()); 
     cItems[i][3].setCellValue(items.get(i).getUnitCost()); 
     cItems[i][4].setCellValue(items.get(i).getClassNumber()); 
     cItems[i][5].setCellValue(items.get(i).getPropertyNumber()); 
     cItems[i][6].setCellValue(items.get(i).getDateAcquired()); 
     cItems[i][7].setCellValue(""); 
     cItems[i][8].setCellValue(""); 
     cItems[i][9].setCellValue(""); 
     cItems[i][10].setCellValue(""); 
     cItems[i][11].setCellValue(""); 
     cItems[i][12].setCellValue(""); 
     cItems[i][13].setCellValue(""); 
     cItems[i][14].setCellValue(""); 
     cItems[i][15].setCellValue(""); 
     endRow = (i+startRow); 
    } 

screenshot of what it should look like

cItems [0] [0] = A13, cItems [0] [1] = B13,. . .

Die Schleife sollte jedes Element in der Datenbank erhalten und anzuzeigen 13.

Durch die Art und Weise von der Reihe beginnend, ich Apache POI bin mit. :)

Danke!

+0

Verwenden Sie System.out.println zu debuggen. Drucken Sie item.get (i) aus. – wannadream

+0

Kannst du kurz beschreiben, wie dein Excel-Export aussehen soll, welchen Zelleninhalt und welches Format er haben soll usw.? – Lepidopteron

+0

@Lepidopteron Ich habe einen Screenshot der Excel-Datei hochgeladen. Ich hoffe, es hilft. :) – user7961010

Antwort

0

Nur Raten.

Vielleicht sollten Sie am Ende Blatt.addRow (row12) aufrufen. Dasselbe gilt für die Spalten row12.addColumn (column). Und am Ende sheet.close().

All diese sind nur Vermutungen, ich könnte völlig falsch liegen;).

Wenn Sie mir sagen, welche Excel-Lib Sie verwenden, dann könnte ich genauer sein :)

Verwandte Themen