java导出excel文件
public String exportDispatchExcel(){String path=this.contextPvd.getRequest().getRealPath("/file/excel");List<TblKepuoaRecordDispatch> list = (List<TblKepuoaRecordDispatch>) this.getOamessage().getAlluserList();TblKepuoaRecordDispatch dispatch=new TblKepuoaRecordDispatch();String file="";try {file = createExcel(path,"发文列表",list,dispatch);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}//开始创建excel表filedownPath=path+File.separator+file;//执行下载操作 return "downLoadDispatch";} /** * 导出excel文件 * @param path 导出的路径 * @param filename 导出文件的名字 * @param list 要导出的对象list * @param study TblKepuoaStudy实体类 对象 * @return * @throws Exception */public String createExcel(String path,String filename,List list,TblKepuoaRecordDispatch dispatch) throws Exception{File file = new File(path+File.separator+filename+".xls" ); WritableWorkbook wbook = null;try {wbook = Workbook.createWorkbook(file); // 建立excel文件String tmptitle = filename; // 标题WritableSheet wsheet = wbook.createSheet(filename, 0); // sheet名称 // 设置excel标题WritableFont wfont = new WritableFont(WritableFont.createFont("宋体"), 13, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK);WritableCellFormat wcfFC = new WritableCellFormat(wfont); wsheet.addCell(new Label(4, 0, tmptitle, wcfFC));wfont = new jxl.write.WritableFont(WritableFont.createFont("宋体"), 10,WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK);wcfFC = new WritableCellFormat(wfont);wcfFC.setBorder(Border.NONE,BorderLineStyle.NONE); // 开始生成主体内容 wsheet.addCell(new Label(0, 1, "序号",wcfFC));wsheet.addCell(new Label(1, 1, "文件名称",wcfFC));wsheet.addCell(new Label(2, 1, "经办人",wcfFC));wsheet.addCell(new Label(3, 1, "发文日期",wcfFC));wsheet.addCell(new Label(4, 1, "收文机关",wcfFC));wsheet.addCell(new Label(5, 1, "档案提供者",wcfFC));int j = 2;for (int i = 0; i < list.size(); i++) {dispatch=(TblKepuoaRecordDispatch) list.get(i); String uptime="";if(dispatch.getDispatchDate()!=null&&!"".equals(dispatch.getDispatchDate())){uptime=sdf2.format(dispatch.getDispatchDate());//时间格式化}wsheet.addCell(new Label(0, j, i+1+"",wcfFC));wsheet.addCell(new Label(1, j,dispatch.getDispatchName(),wcfFC));if(dispatch!=null && dispatch.getDispatchOpreator()!=null && !"".equals(dispatch.getDispatchOpreator())){if(dispatch.getCode()!=null && !"".equals(dispatch.getCode())){wsheet.addCell(new Label(2, j,dispatch.getDispatchOpreator()+"-"+dispatch.getCode(),wcfFC));}else{wsheet.addCell(new Label(2, j,dispatch.getDispatchOpreator(),wcfFC));}}wsheet.addCell(new Label(3, j, uptime,wcfFC));wsheet.addCell(new Label(4, j,dispatch.getDispatchOrgan(),wcfFC));wsheet.addCell(new Label(5, j, dispatch.getRecordSupportPeople(),wcfFC));j++;}} catch (IOException e) {// TODO Auto-generated catch blockLoggers.info("DispatchAction 中 createExcel 方法:"+e.getMessage());e.printStackTrace();}finally{if(wbook != null){wbook.write(); // 写入文件wbook.close();}} // 主体内容生成结束 return filename+".xls";}