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

#3547 aperta il 7 nov 2023

Vedi su GitHub
 (1 commento) (0 reazioni) (0 assegnatari)Java (7599 fork)batch import
help wanted

Metriche repository

Star
 (33.728 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

版本

<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也解决不了

Guida contributor