public void NewSheet(String path,String[] str){
try {
                        //path, excel文件的完整路径
in=new FileInputStream(path);
wb=Workbook.getWorkbook(in);
wwb=wb.createWorkbook(new File(path),wb);
                        //sheetname2 ,新建sheet的名称。
WritableSheet ws=wwb.createSheet("sheetname2",wwb.getNumberOfSheets());
int k=ws.getRows();
for(int m=0;m<str.length;m++){
Label label = new Label(m,k, (String)str[m]);
ws.addCell(label);
}
wwb.write();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RowsExceededException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
      try {
        wwb.close();
        in.close();
      }
      catch (Exception e) {
        e.printStackTrace();
      }
    }
}

解决方案 »

  1.   

    我试了这种方法.到最后添加完成后,excel文件就消失了.
      

  2.   

    可以了.谢谢金猪宝宝!
    还想请问一下,我如何把打开的excel关闭啊/
    如果是打开状态,程序会报错的啊
      

  3.   

    finally {
                  try {
                    wwb.close();
                    in.close();
                  }
                  catch (Exception e) {
                    e.printStackTrace();
                  }
                }
      

  4.   

    不是这个意思.
    我的意思是说 a.xls如果是打开状态,
    这时候我用程序去操作这个a.xls文件,
    会报错.用wb.close()
    并不能真正的把文件关掉.
      

  5.   

    恩,明白了,我也遇到了这个问题,不过没想过直接通过程序关闭已经打开的excle文件。
      

  6.   

    不过可以试试调用命令行,杀掉excel进程的方式来关闭excle文件。