[alibaba/easyexcel]excel无法打开'xxxx',因为文件格式或扩展名无效,请确定文件未损坏........

2024-05-21 310 views
2

建议先去看文档 参考动态表头和web中的写,写的代码 异常代码

        try {
            //response.setContentType("application/x-download");
            response.setContentType("application/vnd.ms-excel");
            response.setCharacterEncoding("UTF-8");
            fileName = URLEncoder.encode(fileName, "UTF-8");
            response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
            EasyExcel.write(response.getOutputStream()).head(heads).sheet("sheet1");
        } catch (IOException e) {
        ....
        }

异常提示 参考动态表头和web写,写的,下载下拉的excel打开时提示“excel无法打开'xxxx',因为文件格式或扩展名无效,请确定文件未损坏........”! 建议描述

回答

7

这个需要提供详细代码,或者部分代码删除看。

1

代码很简单,就自己维护了一个动态表头,其他代码就是有雀示例代码。需求是下载一个只有有表头的excel且不包括数据具体数据。 感觉就是xlsx使用XSSF,xls格式使用HSSF..问题

8

最后一行没有写入数据,导致生成0kb的空文件,如果只是生成表头,请尝试修改为:

       EasyExcel.write(response.getOutputStream())
                .head(heads)
                .sheet("sheet1")
                .doWrite(Collections.emptyList());
8

感谢