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

问题描述
我在后端用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对这些还不是很了解
你期待的结果是什么?实际看到的错误信息又是什么?
海绵宝宝撒
浏览 2581回答 2
2回答

HUWWW

用fetch请求浏览器把数据给你了,浏览器当然不会下载,为了兼容性,导出excel用a标签导出
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript