private void write_excel(ArrayList[] array) 
{
try {
OutputStream file1 = new FileOutputStream("E:\\交付清单test1.xls");
HSSFWorkbook wb1=new HSSFWorkbook();
HSSFSheet newsheet=wb1.createSheet();
for(int k=0;k<array.length;k++)
{
for(int i=0;i<array[0].size();i++)
{
HSSFRow row=newsheet.createRow((short)i);
HSSFCell cell=row.createCell((short)k);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
//String a=(String)ite.next();
cell.setCellValue(array[k].get(i).toString());
//System.out.println(a);
System.out.println(array[k].get(i).toString());

}
}
wb1.write(file1);
file1.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
请问下,为什么得到的新的excel只有最有一个array[]中的信息,请问下怎么能将所有的array[k]中的内容全部写到excel中?

解决方案 »

  1.   

    http://bbs.csdn.net/topics/390360927
    你这个和我以前编辑的这个基本上一模一样
    只不过我输入的是数组String[][]
    你输入的是
    List[] listarray而已
      

  2.   

    不好意思,之前忘记分享了
    public void w_excel(ArrayList[] array_detail)
    {
    try 
    {
    HSSFWorkbook wb=new HSSFWorkbook();
    HSSFSheet newsheet=wb.createSheet();
    for(short i=0;i<array_detail[0].size();i++)
    {
    //System.out.println(array_detail.length);
    HSSFRow row=newsheet.createRow(i);
    for(short j=0;j<array_detail.length;j++)
    {
    HSSFCell cell=row.createCell(j);
    cell.setCellType(HSSFCell.CELL_TYPE_STRING);
    cell.setCellValue(array_detail[j].get(i).toString());
    System.out.println(array_detail[j].get(i).toString());
    }
    }
    FileOutputStream file1 = new FileOutputStream("E:\\test.xls");
    wb.write(file1);
    file1.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }