java项目中resource目录中execl文档下载打开错误问题

发布时间:2024年01月19日

原因排查

execl文件位置
在这里插入图片描述
经过编译后文件大小从10k变到17k
在这里插入图片描述
文件打开错误
在这里插入图片描述

解决方法

pom中增加如下打包插件,可以过滤掉execl文件不进行编译

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <version>2.6</version>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <nonFilteredFileExtensions>
                        <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                </configuration>
            </plugin>

文件下载

    @GetMapping("/download/template")
    public void downloadTemplate(HttpServletResponse response) throws Exception {
        String file = this.getClass().getClassLoader().getResource("").getFile() + "template/person_template.xlsx";
        try (ServletOutputStream outputStream = response.getOutputStream()) {
            byte[] bytes = FileUtil.readBytes(new File(file));
            //响应客户端浏览器区分数据
            response.setContentType("application/vnd.ms-excel");
            response.setHeader("Content-Disposition", "attachment; filename=person_template.xlsx");
            response.setCharacterEncoding("utf-8");
            IoUtil.write(outputStream, true, bytes);
            outputStream.flush();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

文章来源:https://blog.csdn.net/weixin_44485508/article/details/135689121
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。