Java 下载Excl表格模板

先上效果图:

先说个问题尽量避免使用Jquery ajax下载excl ,ajax暂不支持返回类型 "流 " 类型,支持json,html,text,xml 类型;可以使用location.href 等,如果非要使用ajax可以请求成功之后我们通过创建一个 <a> 标签然后添加 href属性,最后触发该属性就OK了

有很多写下载excl模板的帖子,很少有人注意小细节: 别忘了导入poi ,io jar包

js代码就不看了:小编使用的location.hre 方式

看看Controller 后台代码吧:

public void downLoadExclOut(HttpServletRequest request,HttpServletResponse response,String url)throws Exception{
    try{
     if(url!=null){
//校验文件是不是.xlsx 结尾的
         if(url.endsWith(".xlsx")){
             //获取要下载的模板名称
             String fileName = url;
             // 设置输出的格式
             response.reset();
             // 设置要下载的文件的名称
             response.setHeader("Content-disposition", "attachment;fileName=" + URLEncoder.encode(fileName, "UTF-8"));
             // 通知客服文件的MIME类型
             response.setContentType("application/vnd.ms-excel;charset=UTF-8");
             //获取文件的路径
             String excelPath = request.getSession().getServletContext().getRealPath("/excl/"+fileName);
             //创建输入流对象,读取指定的文件
             FileInputStream input = new FileInputStream(excelPath);
               //创建文件输出流对象
             OutputStream out=response.getOutputStream();
             byte[] b = new byte[2048];
             int len;
             while ((len = input.read(b)) != -1) {
                 out.write(b, 0, len);
             };
             input.close();
         }
     }
    }catch (Exception e){
       e.printStackTrace();
    }
}

这个就是控制层的代码 ,如果你对流有点理解及很容易看懂;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值