alibaba/easyexcel

Servlet.service() for servlet [dispatcherServlet] in context with path [/gdw-StoredEMS] threw exception [Could not find acceptable representation] with root cause org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation

Open

#3,547 opened on Nov 7, 2023

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Java (7,599 forks)batch import
help wanted

Repository metrics

Stars
 (33,728 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

版本

<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.6</version> </dependency>

异常代码

   private void writeExcel(HttpServletResponse response, String fileName, List<?> excelList) {
        //todo 优化
        //todo 解决异常
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        response.setCharacterEncoding("utf-8");

        try {
            fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
        } catch (UnsupportedEncodingException e) {
            log.info("【编码异常===== '{}'", e);
        }
        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
        try {
            EasyExcel.write(response.getOutputStream(), BmsComparisonExcelReportDto.class).sheet("模板").doWrite(excelList);
        } catch (IOException e) {
            log.info("【写入excel失败】");
        }
    }

postman

image

报错

Servlet.service() for servlet [dispatcherServlet] in context with path [/gdw-StoredEMS] threw exception [Could not find acceptable representation] with root cause

org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation

#描述 postman设置了请求头 Accept为“application/vnd.openxmlformats-officedocument.spreadsheetml.sheet”,换高版本的easyexcel也解决不了

Contributor guide