2017-05-04 71 views
1

我需要幫助將數據導出到excel文件。使用java將數據導出爲ex​​cel - 沒有創建行

行12的單元格工作正常,但rowItems的單元格根本不顯示任何內容。

代碼應該從數據庫中導出項目及其屬性的列表。

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,。 。 。

循環應該得到數據庫中的每個項目,並顯示它來自行13

開始順便說一句,我使用Apache POI。 :)

謝謝!

+0

使用System.out.println進行調試。打印出item.get(i)。 – wannadream

+0

你能簡要描述一下你的Excel-Export應該是什麼樣子,它的細胞內容和格式等等。 – Lepidopteron

+0

@Lepidopteron我上傳了excel文件的截圖。我希望它有幫助。 :) – user7961010

回答

0

只是猜測。

可能是你應該最後調用sheet.addRow(row12)。 與列row12.addColumn(列)相同。 並在最後sheet.close()。

所有這些都只是猜測,我可能是完全錯誤的;)。

如果你告訴我你使用的是什麼excel庫,那麼我可能會更具體:)