jxl 操作excel

public static void modifyExcel(String excelpath){
try {
jxl.Workbook wb =null;  //创建一个workbook对象
try {
InputStream is = new FileInputStream(excelpath); //创建一个文件流,读入Excel文件
wb = Workbook.getWorkbook(is); //将文件流写入到workbook对象
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
       // jxl.Workbook 对象是只读的,所以如果要修改Excel,需要创建一个可读的副本,副本指向原Excel文件(即下面的new File(excelpath))
jxl.write.WritableWorkbook wbe= Workbook.createWorkbook(new File(excelpath), wb);//创建workbook的副本
WritableSheet sheet  = wbe.getSheet(0); //获取第一个sheet
WritableCell cell =sheet.getWritableCell(0, 0);//获取第一个单元格
jxl.format.CellFormat cf = cell.getCellFormat();//获取第一个单元格的格式
jxl.write.Label lbl = new jxl.write.Label(0, 0, "修改后的值");//将第一个单元格的值改为“修改後的值”
lbl.setCellFormat(cf);//将修改后的单元格的格式设定成跟原来一样

sheet.addCell(lbl);//将改过的单元格保存到sheet
wbe.write();//将修改保存到workbook --》一定要保存
wbe.close();//关闭workbook,释放内存 ---》一定要释放内存

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}





=============================

//预算编制说明.xls
public ActionForward ysbz(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
OutputStream os = null;
Workbook  book=null;
WritableWorkbook wwb=null;
  try{
  int businessId=Util.formateInt(request.getParameter("businessId"), 0);
  TblBusinessBase tbb=(TblBusinessBase) Util.getBaseDao().listSingleObject("from TblBusinessBase as b where b.businessId=?", new Integer[]{businessId});
  os=response.getOutputStream();  //取得输出流    
      response.reset(); //清空输出流    
      response.setContentType ( "application/ms-excel" ); 
      response.setHeader ("Content-Disposition","attachment;filename="+new String("预算编制说明.xls".getBytes(),"iso-8859-1"));
  String path=request.getRealPath("oa模板\\预算编制说明.xls");
  book=Workbook.getWorkbook(new File(path));
//创建副本
  wwb=Workbook.createWorkbook(os,book);
  WritableSheet sheet=wwb.getSheet(0);
  int cols = sheet.getColumns();// 得到列数
      int rows = sheet.getRows();// 得到行数
  
      WritableCell cell=sheet.getWritableCell(0,1);
      CellFormat cf=cell.getCellFormat();
      Label label=new Label(0,1,"工程名称:"+tbb.getBusinessName());
      label.setCellFormat(cf);
      sheet.addCell(label);
      cell=sheet.getWritableCell(2,4);
      cf=cell.getCellFormat();
      label=new Label(2,4,tbb.getBusinessName());
      sheet.addCell(label);
      wwb.write();
      wwb.close();
     
      book.close();
      os.close();
  }catch(Exception ex){
 
  ex.printStackTrace();
  }finally{
 
  wwb.write();
      wwb.close();
     
      book.close();
      os.close(); 
  }
      return null;
     



  //request.setAttribute("tbb", tbb);
// return mapping.findForward("ysbz");
}

猜你喜欢

转载自superyang.iteye.com/blog/1708846