为了账号安全,请及时绑定邮箱和手机立即绑定

后端生成excel文件使用文件流写出后没反应

后端生成excel文件使用文件流写出后没反应

海绵宝宝撒 2019-04-27 22:19:57
问题描述我在后端用POI生成了workboot对象使用wb.write(res.getOutputStream)写入输出流为什么浏览器没有下载,debug的时候也是正常的没有抛出异常,是需要在前端页面对输入流进行处理吗,如果是的话要怎么处理问题出现的环境背景及自己尝试过哪些方法后端springboot前端react+dva+antd相关代码//请把代码文本粘贴到下方(请勿用图片代替代码)后端代码:@RequestMapping(value="/plan/generateExcel",method=RequestMethod.POST)public@ResponseBodyvoidgenerateExcel(HttpServletResponseresponse){HSSFWorkbookwb=newHSSFWorkbook();//生成工作簿Sheetsheet=wb.createSheet("汇总");//生成汇总sheet.....response.reset();response.setContentType("application/vnd.ms-excel;charset=UTF-8");try{SimpleDateFormatnewsdf=newSimpleDateFormat("yyyyMMddHHmmss");Stringdate=newsdf.format(newDate());response.addHeader("Content-Disposition","attachment;filename=\""+newString(("数据表"+date+".xls").getBytes("UTF-8"),"UTF-8")+"\"");OutputStreamout=response.getOutputStream();wb.write(out);out.flush();out.close();}catch(FileNotFoundExceptione){JOptionPane.showMessageDialog(null,"导出失败!");e.printStackTrace();}catch(IOExceptione){JOptionPane.showMessageDialog(null,"导出失败!");e.printStackTrace();}前端model*generateExcel({payload},{call}){yieldcall(generateExcel,payload);}刚学react对这些还不是很了解你期待的结果是什么?实际看到的错误信息又是什么?
查看完整描述

2 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

用fetch请求浏览器把数据给你了,浏览器当然不会下载,为了兼容性,导出excel用a标签导出
                            
查看完整回答
反对 回复 2019-04-27
  • 2 回答
  • 0 关注
  • 2580 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信