You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EPPlus v4.5.0.2rc在ASP.NET Core MVC2.0(.NET4.7)导出Excel损坏

ASP.NET Core MVC 2.0 + EPPlus v4.5.0.2rc导出Excel损坏的解决办法

我用EPPlus已经好些年了,之前在ASP.NET Web Forms和ASP.NET MVC 5项目里用都没出过岔子,但最近切换到ASP.NET Core MVC 2.0(基于.NET 4.7平台),搭配EPPlus v4.5.0.2rc版本时,遇到了一个头疼的问题:导出的Excel文件总是损坏,根本没法被Excel正常打开。

一开始我以为是EPPlus版本和Core的兼容性问题,折腾了好半天,后来才发现问题出在前端的axios请求上!

之前在旧项目里用axios导出文件的时候,根本不需要额外设置响应类型,但在这个Core项目里,必须给axios的请求明确指定响应类型为blob,不然导出的文件就会损坏。

解决代码很简单,就是在axios的get请求里加上responseType: 'blob'配置:

axios.get(HS.Routes.Test.TestExcelDT(), { responseType: 'blob' })

原因其实很好理解:Excel文件是二进制格式,如果axios默认按字符串类型去解析响应,就会破坏二进制数据的完整性,导致文件损坏。指定responseType: 'blob'后,axios会以二进制流的形式接收响应,这样就能保证导出的Excel文件完整可用了。

内容的提问来源于stack exchange,提问作者Tab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:30:42