加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读