-2

Apache POIを使用してarraylistからのデータをExcelシートに入力する方法は?

public String exporttoexcel(UserDetails user) throws Exception {

    System.out.print("Inside serviceimpl.ExportToExcel method");
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFSheet sheet = wb.createSheet("new sheet");
    HSSFRow row = sheet.createRow((short)0);

        List<UserDetails> lstUserDetail = getUserDetailList();

        for (int i=0; i<lstUserDetail.size(); i++) {

            UserDetails lstUserDetail1 = lstUserDetail.get(i);

            String a=lstUserDetail1.getStrUserName();
             System.out.print("useridddd is"+a);

             HSSFCell cell = row.createCell((short) 0);
                cell.setCellValue(lstUserDetail1.getStrUserId());
                cell.setCellValue(lstUserDetail1.getStrUserName());
                cell.setCellValue(lstUserDetail1.getStrEMail());
                cell.setCellValue(lstUserDetail1.getStrUserStatus());
                cell.setCellValue(lstUserDetail1.getStrUserRole());

         }
         FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();

       System.out.print("file created");

       return null;
        }
4

2 に答える 2

2

単一のセルを作成し、毎回同じ単一のセルにすべての値を入力しました。

2 つのループを取る必要があります。1 つは行を反復するためのもので、もう 1 つは列を反復するためのものです。私はテストしていませんが...以下のようなコードを使用してください。

 for(int RowNum=0; RowNum<MaxArrayLength;RowNum++){
    HSSFRow row = sheet.createRow(RowNum);
    for(int ColNum=0; ColNum<ArrayWidth;ColNum++){
        HSSFCell cell = row.createCell(ColNum);
        cell.setCellValue(ArrayList[RowNum][ColNum]);
     }
 }
于 2013-07-04T11:22:05.650 に答える