Seraphim_Fly 2017-04-25 01:52 采纳率: 100%
浏览 5085
已采纳

java实现将服务器上的excel文件在web端下载

 @RequestMapping("/downLoadExcel")
    public void downLoadExcel(String path, HttpServletResponse res){
        path = "D:/workforBoyun/ztc_tool/expert1.xls";
        File file = new File(path);
        try {
            res.setContentType("application/vnd.ms-excel;charset=utf-8");
            String fileName = path.substring(path.lastIndexOf("\\")+1);
            res.setHeader("content-disposition", "attachment;filename="+URLEncoder.encode(fileName, "UTF-8"));
            InputStream in = new FileInputStream(file);
            int len = 0;
            byte[] buffer = new byte[1024];
            OutputStream out = res.getOutputStream();
            while ((len = in.read(buffer)) > 0) {
                out.write(buffer,0,len);
            }
            in.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

代码这样但不知道为什么 总是输出在web的控制台,求助大神 万分感激

  • 写回答

3条回答 默认 最新

  • Seraphim_Fly 2017-04-25 02:50
    关注

    我自己找到原因了 前台用的ajax请求 这样不行 放在href里就好使了 window.open();

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵