导出excel_浏览器默认文件保存

本文提供了一个使用Java后端生成并导出Excel文件的示例代码,详细展示了如何将数据写入到Excel中,并通过HTTP响应将其发送给前端。前端部分通过直接打开URL的方式实现文件下载,避免了使用Ajax可能带来的兼容性和安全性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搜了很多得出的结果
后端:

ByteArrayOutputStream fos = new ByteArrayOutputStream();
  book.write(fos);
  byte[]  retArr = fos.toByteArray();
  fos.close();
        
  response.reset();
        response.setContentType("application/vnd.ms-excel;charset=utf-8");
        response.setHeader("Content-Disposition", "attachment;filename="+ new String((filename + ".xls").getBytes(), "iso-8859-1"));
        OutputStream os= new BufferedOutputStream(response.getOutputStream());  
        os.write(retArr);  
        os.flush();  
        os.close();

前端:

/* $.ajax({
   url : "../jzsh/getExcel.do",
   type : 'POST',
   data: { 
    "idResults":idResults
          },
   success : function(data){
    alert("导出成功");
   }
   });*/
   
   var url="../jzsh/getExcel.do?idResults="+idResults;
     window.open(url,"_blank");         

注:不能使用Ajax发送请求
最后效果:
在这里插入图片描述 如果使用ajax不会出现这样的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值