下载服务器端EXCEL

public void downLoad(HttpServletResponse response, HttpServletRequest request) {  

     String id = request.getParameter("id");// id  

     CownExcel cownExcel = customerService.getCownExcelID(Integer.parseInt(id));  

   try {    

      String filename = cownExcel.getUrl();   

       filename = filename.substring(filename.lastIndexOf("\\")+1);//获取文件名字某个路径下的    

      // 读到流中    InputStream inStream;

         inStream = new FileInputStream(cownExcel.getUrl());//下载文件的路径    

        // 文件的存放路径    // 设置输出的格式   

       response.reset();   

       response.setContentType("bin");   

       try {     

         response.addHeader("Content-Disposition",       "attachment;filename=" + URLEncoder.encode(filename, "UTF-8"));     // 循环取出流中的数据     byte[] b = new byte[100];     int len;

        try {      

        while ((len = inStream.read(b)) > 0)      

         response.getOutputStream().write(b, 0, len);     

         inStream.close();     

      } catch (IOException e) {

           e.printStackTrace();    
     }

   } catch (UnsupportedEncodingException e) {     e.printStackTrace();    }   } catch (FileNotFoundException e) {    e.printStackTrace();   }  }

转载于:https://www.cnblogs.com/cuijinlong/p/6396819.html

前端可以通过发送HTTP请求来从服务器下载Excel文件。以下是一种常见的实现方式: 1. 在前端,可以使用JavaScript中的XMLHttpRequest或Fetch API来发送GET请求到服务器上的一个特定URL,以获取Excel文件的数据。 2. 服务器端需要处理这个请求,并将Excel文件作为响应返回给前端。具体的实现方式取决于服务器端的编程语言和框架。 3. 在前端,可以通过处理服务器响应的方式来下载Excel文件。一种常见的做法是创建一个a标签,并设置其href属性为服务器返回的Excel文件URL,同时设置download属性为要保存的文件名。然后,可以使用JavaScript触发该a标签的点击事件,以启动文件下载。 下面是一个简单的示例代码(使用JavaScript): ```javascript // 发送GET请求到服务器获取Excel文件 fetch('/path/to/excel', { method: 'GET', }) .then((response) => response.blob()) // 将响应转换为Blob对象 .then((blob) => { // 创建a标签 const link = document.createElement('a'); link.href = URL.createObjectURL(blob); // 设置a标签的href属性为Blob对象的URL link.download = 'filename.xlsx'; // 设置文件名 link.click(); // 触发点击事件,启动下载 URL.revokeObjectURL(link.href); // 释放URL对象 }) .catch((error) => { console.error('Error:', error); }); ``` 请注意,以上示例仅供参考,实际实现可能需要根据具体需求进行适当调整。另外,服务器端的实现方式也需要根据你使用的编程语言和框架而定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值