当前位置: 首页 > news >正文

问题解决:发现Excel中的部分内容有问题。是否让我们尽量尝试恢复? 如果您信任此工作簿的源,请单击“是”。

在开发同步导出功能是遇到了如标题所示的问题,解决后遂记录下来供大家参考。

@RestController
public class XxxController {@PostMapping("/export")public BaseResponse export(@RequestBody PolicyErrorAnalysisExportReq exportReq, HttpServletResponse response) {BaseResponse res = new BaseResponse();try {// ...} catch(Exception e) {}return res}
}

执行如上方法导出时,打开的 Excel 文件会提示:发现Excel中的部分内容有问题。是否让我们尽量尝试恢复? 如果您信任此工作簿的源,请单击“是”。

在这里插入图片描述

因为前端在处理文件流时,不知道文件流的长度,会全量处理文件流,由于指定了 @RestController 注解,除了文件流之外, BaseResponse res 的 JSON 体也会被包含在响应体中,那么这样前端便解析到了无关的字符。将导出的 Excel 文件修改成 .xml 后缀查看其中信息,如下所示:
在这里插入图片描述

发现果然包含了响应对象的 JSON 格式,解决该问题也非常简单,第一种方案是直接将返回值改成 void,让前端只处理流即可

@RestController
public class XxxController {@PostMapping("/export")public void export(@RequestBody PolicyErrorAnalysisExportReq exportReq, HttpServletResponse response) {try {// ...} catch(Exception e) {}}
}

第二种方案是在响应头中指定输出流的长度,到了指定长度后前端便不再处理,只解决 Excel 文件相关的内容即可。


http://www.mrgr.cn/news/80762.html

相关文章:

  • boost之bind
  • 【计算机网络2】计算机网络的性能能指标
  • 51c嵌入式~单片机~合集2
  • Java对集合的操作方法
  • Mac升级macOS 15 Sequoia后,无法ssh连接本地虚拟机
  • [HNOI2002] 营业额统计 STL - set集合
  • tomcat的安装以及配置(基于linuxOS)
  • [代码随想录21回溯]组合问题,电话号码的字母组合问题
  • 制作一个简单的图片预览
  • python学opencv|读取图像(十六)修改HSV图像HSV值
  • 管理系统、微信小程序类源码文档-哔哩哔哩教程同步
  • 西游记战力排名、笔记等
  • pro文件转换为CMakeLists.txt文件,QT官方工具使用教程
  • 【云原生】Docker Compose 从入门到实战使用详解
  • 唯品会C++面试题及参考答案
  • FreeMarker语法
  • Restaurants WebAPI(二)——DTO/CQRS
  • 17.springcloud_openfeign之扩展组件一
  • 2024.12.19总结
  • SamOut 推理空间不变模型解析
  • [SZ901]程序固化工具速度对比
  • 【Maven】基础(一)
  • 排序算法深度好文(图解 + 代码解析 + 误区 QA )——学排序看这一篇就够了!!!
  • 洛谷P3879 [TJOI2010] 阅读理解(c嘎嘎)
  • 【CSS in Depth 2 精译_085】14.2:CSS 蒙版的用法
  • 无刷电机的概念