EasyExcel 学习之 导出 “WPS 表格在试图打开文件时遇到错误”

目录

    • [1. 版本](#1. 版本)
    • [2. 现象](#2. 现象)
      • [2.1. Postman 文件下载成功且 WPS 可以正常打开](#2.1. Postman 文件下载成功且 WPS 可以正常打开)
      • [2.2. VUE 下载成功但 WPS 无法打开](#2.2. VUE 下载成功但 WPS 无法打开)
    • [3. 原因:前端未指定 responseType](#3. 原因:前端未指定 responseType)
    • [4. 常见问题](#4. 常见问题)
      • [4.1. NoSuchMethodError](#4.1. NoSuchMethodError)
        • [4.1.1. org.apache.logging.log4j.LogBuilder org.apache.logging.log4j.Logger.atTrace()](#4.1.1. org.apache.logging.log4j.LogBuilder org.apache.logging.log4j.Logger.atTrace())
        • [4.1.2. Could not initialize class org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook](#4.1.2. Could not initialize class org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook)

1. 版本

版本
org.springframework.boot:spring-boot-starter-parent 2.0.8.RELEASE
com.alibaba:easyexcel 4.0.0

特别注意:不同的 Springboot 版本可能现象不同,2.7.14 就是可以的。

2. 现象

EasyExcel # Issue

本人在使用 EasyExcel 导出 xls 文件后,通过 WPS 打开文件,呈现两种情况:

2.1. Postman 文件下载成功且 WPS 可以正常打开

一般情况下导出下载只能通过 GET 方法触发,但是实际中前端可以通过一些代码逻辑模拟 GET 下载,即上图所示 POST 下载。

2.2. VUE 下载成功但 WPS 无法打开

3. 原因:前端未指定 responseType

Axios 中,responseType 是一个非常重要的配置项,它用于告诉 Axios 你期望从服务器接收到的响应数据类型。

常见的 responseType 值及其用途:

适用场景 备注
json 默认)用于解析JSON数据
blob 下载文件,二进制数据 因为 Blob 对象可以被用来创建一个指向该文件内容的 URL,进而触发浏览器的下载行为或者在页面上展示文件内容
arraybuffer 图片、音频、视频等二进制文件
document XML文档
text 纯文本数据
stream 流数据

4. 常见问题

4.1. NoSuchMethodError

4.1.1. org.apache.logging.log4j.LogBuilder org.apache.logging.log4j.Logger.atTrace()
4.1.2. Could not initialize class org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook
xml 复制代码
<dependency>
	<groupId>org.apache.logging.log4j</groupId>
	<artifactId>log4j-api</artifactId>
	<version>2.21.1</version>
	<scope>compile</scope>
</dependency>

相关推荐
魏 无羡1 小时前
webclient
java·webclient
神仙别闹2 小时前
基于 C++ 实现两个有序链表序列的交集
java·c++·链表
swordbob3 小时前
ReentrantLock 与 AQS 完整学习手册
java·开发语言
m0_587383004 小时前
全民健身解决方案软件开发实战:从架构设计到落地指南
java·spring boot·spring·架构·需求分析
白山编程大哥4 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
一技安身5 小时前
【信创】Docker‑Compose V2 两种离线部署(独立模式、插件模式)简易教程
java·docker·eureka
七夜zippoe5 小时前
为什么 2026 年每个 Java 团队都该懂 AI Agent
java·开发语言·人工智能
时凌云.5 小时前
【2026最新】JDK 下载安装与环境配置全教程(Windows/Mac/Linux 三平台,零基础友好)
java·linux·macos
Despacito10065 小时前
Java后端性能探查工具速查表
java·开发语言
蓝桉柒76 小时前
下载idea,用idea输入一个程序
java·ide·intellij-idea