首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Docker中使用Spring Boot Java生成Apache POI xlsx文件

,可以通过以下步骤完成:

  1. 首先,确保已经安装了Docker和Java开发环境。
  2. 创建一个Spring Boot项目,可以使用Spring Initializr(https://start.spring.io/)生成一个基本的Spring Boot项目。
  3. 在项目的pom.xml文件中添加Apache POI的依赖:
代码语言:txt
复制
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>
  1. 创建一个Controller类,用于处理HTTP请求和生成xlsx文件的逻辑。可以参考以下示例代码:
代码语言:txt
复制
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.ByteArrayOutputStream;
import java.io.IOException;

@RestController
public class ExcelController {

    @GetMapping(value = "/generateExcel", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
    public ResponseEntity<byte[]> generateExcel() throws IOException {
        // 创建一个工作簿
        Workbook workbook = new XSSFWorkbook();
        // 创建一个工作表
        Sheet sheet = workbook.createSheet("Sheet1");

        // 创建行和单元格,并设置数据
        Row row = sheet.createRow(0);
        Cell cell = row.createCell(0);
        cell.setCellValue("Hello, World!");

        // 将工作簿写入字节数组输出流
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        workbook.write(outputStream);
        workbook.close();

        // 设置响应头,告诉浏览器下载文件
        HttpHeaders headers = new HttpHeaders();
        headers.setContentDispositionFormData("attachment", "example.xlsx");

        return ResponseEntity.ok()
                .headers(headers)
                .contentType(MediaType.APPLICATION_OCTET_STREAM)
                .body(outputStream.toByteArray());
    }
}
  1. 构建并运行Spring Boot项目。可以使用Maven命令mvn spring-boot:run或者使用集成开发工具(如IntelliJ IDEA)运行。
  2. 在浏览器中访问http://localhost:8080/generateExcel,将会下载一个名为example.xlsx的xlsx文件,其中包含了一个单元格并填充了"Hello, World!"。

在这个示例中,我们使用了Spring Boot和Apache POI来生成xlsx文件。Spring Boot提供了一个简单的Web框架,方便我们创建RESTful API,并且可以方便地集成其他库和工具。Apache POI是一个用于操作Microsoft Office格式文件的Java库,可以用于创建、读取和修改Excel文件。

推荐的腾讯云相关产品:腾讯云容器服务(Tencent Kubernetes Engine,TKE),它是腾讯云提供的一种高度可扩展的容器管理服务,可以帮助您在云上快速部署和管理容器化应用。您可以通过以下链接了解更多信息:https://cloud.tencent.com/product/tke

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Docker环境开发Java 8 Spring Boot应用程序

本文我将向你展示如何在本地计算机上不安装Java 8环境的情况下使用Java 8来开发并运行一个简单的Spring Web应用程序。...exec执行maven命令 CMD ["mvn", "clean", "package", "exec:java"] 此Docker文件配置了一个从Docker Hub的Java 8镜像继承过来的Docker...MySQL映像上,我将db-schema创建脚本放在MySQL文件。我将用来创建“人”表的单个SQL文件data.sql放在此文件。 现在,我们来看看此应用程序的结构。...你可以用一个简单的命令来运行整个项目: docker-compose up -d 可以本地计算机上使用以下两个命令对其进行测试: 创建新的人 curl -H "Content-Type: application...你可以使用这个模板来深入研究Java 8和Spring Boot。 相关的参考资料:Docker入门

3.6K70

EasyExcel与POI对比及实现百万数据导入导出的基础示例

Apache POI 是一套 Java API,专门用来处理 Microsoft Office 格式的文件,特别是对于 Excel (.xls, .xlsx), Word (.doc, .docx),...- 写入时,POI 则根据 Java 对象构建出符合 Office 文件格式规范的数据流,从而生成有效的 Office 文档。 4....Apache POI 是一个强大的工具集,使得 Java 开发者能够不需要安装 Microsoft Office 的环境下进行 Office 文件的编程操作,广泛应用于数据迁移、报表生成、数据分析等各种业务场景...两者对比 EasyExcel 和 Apache POI 都是 Java 中用于处理 Excel 文件的流行库,但它们设计目标、性能和易用性上存在一定的差异: 1....Spring Boot 整合 EasyExcel 实现百万级数据的导入导出 Spring Boot 整合 EasyExcel 实现百万级数据的导入导出涉及的关键步骤如下。

32610

7 行代码优雅地实现 Excel 文件导出功能?

今天,小哈将教您如何使用 7 行代码搞定 Excel 文件生成功能! 二、Apache poi、jxl 的缺陷 在说如何实现之前,我们先来讨论一下传统 Excel 框架的不足!...除了上面说的,Apache poi、jxl 都存在生成 excel 文件不够简单优雅快速外,它们都还存在一个严重的问题,那就是非常耗内存,严重时会导致内存溢出。...以下是官方介绍: 四、EasyExcel 解决了什么 主要来说,有以下几点: 传统 Excel 框架,如 Apache poi、jxl 都存在内存溢出的问题; 传统 excel 开源框架使用复杂、繁琐;...六、特殊场景支持 实际的业务,我们还会有一些特需的需求,比如说下面这些。...十、GitHub 源码地址 https://github.com/weiwosuoai/spring-boot-tutorial/tree/master/spring-boot-excel 十一、Ref

2.3K31

一文读懂Springboot+EasyExce进阶

Boot 2.7.13 mybatis-plus 3.5.3.2 EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。...//根据模板填充数据 @Test public void fillWrite() { // 方案2 分多次 填充 会使用文件缓存(省内存) String fileName = "C:\...解析、生成Excel比较有名的框架有Apache poi、jxl。...但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存完成的,内存消耗依然很大...03版依赖POI的sax模式,在上层做了模型转换的封装,让使用者更加简单方便 我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

16800

省内存的 Excel 导入导出库还是得了解下它...

Spring 拦截器流程及多个拦截器的顺序 Docker常用命令 Docker 使用 MySQL JWT库生成Token的使用与原理 Java 项目中几个必不可少的小功能 各种系统当中... Java 项目中,可以完成 Excel 导入导出的类库有很多种,这里来介绍一下 阿里巴巴 开源的 EasyExcel ,该库的特点如下: Java解析、生成Excel比较有名的框架有Apache poi...poi、jxl 要小很多,使用上也较为简单。...我们创建一个 SpringBoot 的项目,然后 pom.xml 文件引入 EasyExcel 的依赖,依赖如下: <!...通过 Web 页面导入 Excel 需要先上传 Excel 文件,然后再进行导入,上传 Excel 文件就是 Spring MVC 的知识了,使用 MultipartFile 即可完成。

84630

10.3.DockerJava内存消耗优化以及我们如何使用Spring Boot

最近,我所在的团队部署我们的微服务(AWS上DockerJava+SpringMVC)时遇到了一个问题。主要问题是,我们的轻量级应用程序占用了太多内存。...因此,我们发现了DockerJava在内存方面的许多棘手之处,并找到了通过重构和迁移到Spring Boot来减少内存消耗的方法。这项工作的结果非常吸引人,我决定与你们分享。...事实证明,Java VisualVM对OffHeap关系很微妙,因此,使用这个工具来调查Java应用程序的内存消耗可能非常棘手。此外,了解您使用的JVM选项也非常重要。...我们决定尝试使用嵌入式Jetty的Spring Boot,因为它似乎是独立应用程序中最常用的工具,特别是我们的案例。...另外,不要太过于相信Java VisualVM的内存消耗预算,一定要小心。 Docker容器中有一个非常好的Java内存使用分析,可以在其中找到关于它如何工作的清晰解释和详细信息。

4K120
领券