JXL生成的excel文件+JAVA文件下载功能
发布时间:2020-12-15 03:16:49 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 /** * 下载个人订单 * @param request * @param response * @param modelMap */ @RequestMapping(value="/download.do",method=RequestMethod.GET) pu
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 /** * 下载个人订单 * @param request * @param response * @param modelMap */ @RequestMapping(value="/download.do",method=RequestMethod.GET) public void processDownload(HttpServletRequest request,HttpServletResponse response,ModelMap modelMap) { long userId = getUserId(request); String ids = request.getParameter("ids"); try { Long[] idarray = getIdsFromStringArray(ids.split(",")); if (null == idarray || 0 == idarray.length) { return; } // 直接往response的输出流中写excel OutputStream outputStream = response.getOutputStream(); // 获取文件名称 String fileName = getUserFileName(userId); // 下载格式设置 response.setContentType("APPLICATION/OCTET-STREAM"); response.setHeader("Content-Disposition","attachment; filename=/"" + fileName + "/""); // 读取数据渲染模板并写入outputstream中 List<PhAdvertiSEOrderDO> advertiSEOrderList = phAdvertiSEOrderService.getAdvertiSEOrderByIds(idarray,userId); outputStream = excelFileService.generalExcelFileInOutputStream(outputStream,advertiSEOrderList); outputStream.close(); } catch (Exception e) { logger.error("下载报表发生异常!",e); } } /* (non-Javadoc) * @see com.netease.photography.service.ExcelFileService#generalExcelFileInOutputStream(java.lang.String,java.io.OutputStream,java.util.List) */ public OutputStream generalExcelFileInOutputStream(OutputStream outputStream,List<PhAdvertiSEOrderDO> advertiSEOrderList) throws BiffException,IOException,WriteException { // 检查参数是否合法 checkParam(tempalteFile,"no File",advertiSEOrderList); // 获取模板 Workbook templatebook = Workbook.getWorkbook(new File(tempalteFile)); WritableWorkbook writeableWorkbook = Workbook.createWorkbook(outputStream,templatebook); // 读取数据写入模板 readDataAndWriteTemplate(templatebook,writeableWorkbook,advertiSEOrderList); return outputStream; } 其中的重点就在于 WritableWorkbook writeableWorkbook = Workbook.createWorkbook(outputStream,templatebook); function getOrderFileNoDirect() { var ids =""; for(var i=0;i<30;i++){ if($("choose"+i) != null && $("choose"+i).checked == true) { ids += $("choose"+i).value; ids += ","; } } if(ids==""){ alert('不能建立空报表!'); return; } window.open("download.do?ids="+ids); } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |