java项目下载excel文件

目录

java项目下载excel文件

接口

  @Operation(summary = "下载模板")
    @GetMapping("/download")
    public void downloadTempload(HttpServletResponse response) {
        // 1. 定义 resource 文件路径
        String resourcePath = "excel/download.xlsx";
        response.setContentType("application/vnd.ms-excel");
        response.setHeader("Content-Disposition", "attachment; filename=template.xlsx");

        ClassPathResource resource = new ClassPathResource(resourcePath);
        try (InputStream inputStream = resource.getInputStream();
             ServletOutputStream outputStream = response.getOutputStream()
        ) {
            StreamUtils.copy(inputStream, outputStream);
        } catch (Exception e) {
            throw ExceptionUtils.newException("下载失败");
        }
    }

pom配置

  <build>
        <finalName>${project.name}</finalName>
        <plugins>
            <!-- maven 打包时跳过测试 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <finalName>${project.build.finalName}</finalName>
                    <mainClass>${project.groupId}.ApiApplication</mainClass>
                    <layers>
                        <enabled>true</enabled>
                    </layers>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>pl.project13.maven</groupId>
                <artifactId>git-commit-id-plugin</artifactId>
                <version>2.2.5</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <!-- 打包不对excel和word文件进行转码-->
                    <nonFilteredFileExtensions>
                        <nonFilteredFileExtension>xls</nonFilteredFileExtension>
                        <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
                        <nonFilteredFileExtension>doc</nonFilteredFileExtension>
                        <nonFilteredFileExtension>docx</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.xml</include>
                    <include>**/*.xlsx</include>
                    <include>**/*.json</include>
<!--                    <include>**/*.html</include>-->
<!--                    <include>**/*.js</include>-->
<!--                    <include>**/*.txt</include>-->
<!--                    <include>**/*.css</include>-->
                </includes>
                <!--			对资源文件进行过滤。在构建过程中扫描资源文件,查找其中的占位符,并替换这些占位符为实际的值。-->
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

必定要设置pom中的resources nonFilteredFileExtensions的配置

resources:打包文件到jar包中

nonFilteredFileExtensions:设置不编译excel文件

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...