0 0

DWR处理Response问题(导出文件,不存储至服务器上,直接io流写入缓存,动态下载的情况),谢谢3

需求:前台页面一表格,需要直接导出为Excel格式(excel文件不存储在服务器上),个人直接用io流写入缓存并读取的方法,但前台一直不弱出“打开或保存”的窗口,现将大致的前后台代码贴上,谢谢指教:

前台js:
function getExcel(){//HandleExcelUtil是已在dwr.xml里配置好的类,exportAsExcel为其方法,无返回值,回调
	HandleExcelUtil.exportAsExcel(globalBean,pzlx,function(){
	    alert("aaaaaaaaaaaaaaaaa");
	});
}



后台方法:
public void exportAsExcel(HangQingBean hqb,String typeJX,HttpServletResponse response) throws FileNotFoundException, IOException, RowsExceededException, WriteException{

	 response.reset();//清除Buffer
         response.setContentType("application/ms-excel");
         String filename = "11111.xls"; 
         // attachment; 这个代表要下载的,如果去掉就编程直接打开了
         // filename是文件名,另存为或者下载时,为默认的文件名
         response.setHeader("Content-Disposition", "attachment;filename="+filename);
         java.io.OutputStream os = response.getOutputStream();
         WritableWorkbook wwb = Workbook.createWorkbook(os);
         jxl.write.WritableSheet ws = wwb.createSheet("sheet1", 0); // 创建Excel文件里的表单
         Label labelC = null;
 

         //中间部分为具体插入每行每个单元格labelC 的代码,已调试,无错误,量大,不粘贴出,谢谢
         //处理excel是用jxl插件
         
         if (wwb != null) {
        	 wwb.write();
        	 wwb.close();
         }

 
}



请问不存储在服务器上直接写入缓存动态下载可以在DWR里这样实现么?(好像见网上有类似的情况说是DWR对response进行了修改),不吝指教,谢谢
DWR 
2011年1月19日 19:43
目前还没有答案

相关推荐

Global site tag (gtag.js) - Google Analytics