广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >《springboot中实现excel表格导出》
  • 138
分享到

《springboot中实现excel表格导出》

springbootexceljava 2023-08-23 10:08:08 138人浏览 八月长安
摘要

《SpringBoot中实现excel表格导出》 简介 在Spring Boot中,实现Excel表格导出的方式有很多种,以下是几种常见的方法: 使用Apache POI:Apache POI是一个开源的Java api,用于处理Micro

SpringBoot中实现excel表格导出》

简介

Spring Boot中,实现Excel表格导出的方式有很多种,以下是几种常见的方法:

  1. 使用Apache POI:Apache POI是一个开源的Java api,用于处理Microsoft Office文档格式,包括Excel电子表格。在spring Boot中,可以使用Apache POI创建Excel文档,并将其写入Http响应中,以实现Excel表格的导出。
  2. 使用EasyPOI:EasyPOI是一个开源的Java API,用于处理Excel电子表格。它基于Apache POI和Jxls开发,提供了更加简单易用的API,可以帮助我们快速实现Excel表格的导出。
  3. 使用Jxls:Jxls是一个用于生成Excel报表的Java库。在Spring Boot中,可以使用Jxls创建Excel文档,并将其写入HTTP响应中,以实现Excel表格的导出。
  4. 使用第三方库:还有其他一些第三方的Java库可以用于生成Excel电子表格,例如Aspose.Cells、JExcelApi等,它们也可以在Spring Boot中使用,实现Excel表格的导出。

需要注意的是,无论使用哪种方法,都需要将Excel文档写入HTTP响应中,并设置正确的Content-Type和Content-Disposition头信息,以确保浏览器能够正确地识别Excel文档并下载它。

一、Apache POI

<dependency>  <groupId>org.apache.poigroupId>  <artifactId>poiartifactId>  <version>4.1.2version>dependency><dependency>  <groupId>org.apache.poigroupId>  <artifactId>poi-ooxmlartifactId>  <version>4.1.2version>dependency>
@RestControllerpublic class ExcelController {  @GetMapping("/export")  public void exportExcel(httpservletResponse response) throws Exception {    // 创建Excel文档    XSSFWorkbook workbook = new XSSFWorkbook();    XSSFSheet sheet = workbook.createSheet("Sheet1");    // 创建表头    XSSFRow header = sheet.createRow(0);    header.createCell(0).setCellValue("姓名");    header.createCell(1).setCellValue("年龄");    header.createCell(2).setCellValue("性别");    // 填充数据    List<User> users = getUserList();    int rowIndex = 1;    for (User user : users) {      XSSFRow row = sheet.createRow(rowIndex++);      row.createCell(0).setCellValue(user.getName());      row.createCell(1).setCellValue(user.getAge());      row.createCell(2).setCellValue(user.getGender());    }    // 设置响应头信息    response.setContentType("application/vnd.ms-excel");    response.setHeader("Content-Disposition", "attachment; filename=users.xlsx");    // 将Excel文档写入响应流中    ServletOutputStream outputStream = response.getOutputStream();    workbook.write(outputStream);    outputStream.flush();    outputStream.close();  }  // 模拟获取用户数据  private List<User> getUserList() {    List<User> users = new ArrayList<>();    users.add(new User("张三", 25, "男"));    users.add(new User("李四", 30, "女"));    users.add(new User("王五", 28, "男"));    return users;  }  // 用户实体类  private static class User {    private String name;    private int age;    private String gender;    public User(String name, int age, String gender) {      this.name = name;      this.age = age;      this.gender = gender;    }    public String getName() {      return name;    }    public void setName(String name) {      this.name = name;    }    public int getAge() {      return age;    }    public void setAge(int age) {      this.age = age;    }    public String getGender() {      return gender;    }    public void setGender(String gender) {      this.gender = gender;    }  }}

二、Easy POI

  • maven依赖坐标
<dependency>  <groupId>cn.afterturngroupId>  <artifactId>easypoi-baseartifactId>  <version>4.2.0version>dependency><dependency>  <groupId>cn.afterturngroupId>  <artifactId>easypoi-WEBartifactId>  <version>4.2.0version>dependency>
@RestControllerpublic class ExcelController {  @GetMapping("/export")  public void exportExcel(HttpServletResponse response) throws Exception {    // 创建Excel文档    Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("用户列表", "用户信息"), User.class, getUserList());    // 设置响应头信息    response.setContentType("application/vnd.ms-excel");    response.setHeader("Content-Disposition", "attachment; filename=users.xlsx");    // 将Excel文档写入响应流中    ServletOutputStream outputStream = response.getOutputStream();    workbook.write(outputStream);    outputStream.flush();    outputStream.close();  }  // 模拟获取用户数据  private List<User> getUserList() {    List<User> users = new ArrayList<>();    users.add(new User("张三", 25, "男"));    users.add(new User("李四", 30, "女"));    users.add(new User("王五", 28, "男"));    return users;  }  // 用户实体类  private static class User {    @Excel(name = "姓名", orderNum = "0")    private String name;    @Excel(name = "年龄", orderNum = "1")    private int age;    @Excel(name = "性别", orderNum = "2")    private String gender;    public User(String name, int age, String gender) {      this.name = name;      this.age = age;      this.gender = gender;    }    public String getName() {      return name;    }    public void setName(String name) {      this.name = name;    }    public int getAge() {      return age;    }    public void setAge(int age) {      this.age = age;    }    public String getGender() {      return gender;    }    public void setGender(String gender) {      this.gender = gender;    }  }}

三、Jxls

  • maven依赖坐标
<dependency>  <groupId>org.jxlsgroupId>  <artifactId>jxlsartifactId>  <version>2.14.0version>dependency><dependency>  <groupId>org.jxlsgroupId>  <artifactId>jxls-poiartifactId>  <version>2.14.0version>dependency>
@RestControllerpublic class ExcelController {  @GetMapping("/export")  public void exportExcel(HttpServletResponse response) throws Exception {    // 加载Excel模板    InputStream inputStream = getClass().getResourceAsStream("/templates/user_template.xlsx");    Workbook workbook = WorkbookFactory.create(inputStream);    // 填充数据    List<User> users = getUserList();    Map<String, Object> model = new HashMap<>();    model.put("users", users);    JxlsHelper.getInstance().processTemplate(model, workbook.getSheetAt(0));    // 设置响应头信息    response.setContentType("application/vnd.ms-excel");    response.setHeader("Content-Disposition", "attachment; filename=users.xlsx");    // 将Excel文档写入响应流中    ServletOutputStream outputStream = response.getOutputStream();    workbook.write(outputStream);    outputStream.flush();    outputStream.close();  }  // 模拟获取用户数据  private List<User> getUserList() {    List<User> users = new ArrayList<>();    users.add(new User("张三", 25, "男"));    users.add(new User("李四", 30, "女"));    users.add(new User("王五", 28, "男"));    return users;  }  // 用户实体类  private static class User {    private String name;    private int age;    private String gender;    public User(String name, int age, String gender) {      this.name = name;      this.age = age;      this.gender = gender;    }    public String getName() {      return name;    }    public void setName(String name) {      this.name = name;    }    public int getAge() {      return age;    }    public void setAge(int age) {      this.age = age;    }    public String getGender() {      return gender;    }    public void setGender(String gender) {      this.gender = gender;    }  }}

来源地址:https://blog.csdn.net/weixin_52236586/article/details/129602624

--结束END--

本文标题: 《springboot中实现excel表格导出》

本文链接: https://www.lsjlt.com/news/378455.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 《springboot中实现excel表格导出》
    《springboot中实现excel表格导出》 简介 在Spring Boot中,实现Excel表格导出的方式有很多种,以下是几种常见的方法: 使用Apache POI:Apache POI是一个开源的Java API,用于处理Micro...
    99+
    2023-08-23
    spring boot excel java
  • SpringBoot整合EasyExcel实现Excel表格导出功能
    目录栗子1.组件介绍2.配置文件SpringBoot项目pom.xml3.项目代码项目结构ExportController.javaMock.javaCitySheet.javaCo...
    99+
    2022-11-13
  • 使用SpringBoot+EasyExcel+Vue实现excel表格的导入和导出详解
    目录一、导入和导出二、导出数据为excel实现过程三、将excel中的数据导入到数据库中一、导入和导出 导入:通过解析excel表格中的数据,然后将数据放到一个集合中,接着通过对持久...
    99+
    2022-11-13
  • php导出Excel表格
    php保存excel表格 一,首要条件二,引入对象2.1,创建sheet2.2,创建表头2.3,写入表头2.4,记录表数据 三,保存四,设置表格格式4.1,创建sheet表4.2,单元格设...
    99+
    2023-09-06
    php
  • vue怎么实现excel表格的导入导出
    这篇文章主要介绍“vue怎么实现excel表格的导入导出”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么实现excel表格的导入导出”文章能帮助大家解决问题。一、下载xlsx插件npm&nb...
    99+
    2023-07-06
  • Java利用POI实现导入导出Excel表格
    本文实例为大家分享了Java利用POI实现导入导出Excel表格的具体代码,供大家参考,具体内容如下 一、Java利用POI实现导入导出Excel表格demo 1.引入依赖 <...
    99+
    2022-11-13
  • vue实现excel表格的导入导出的示例
    目录一、下载xlsx插件二、通过element-ui组件的upload组件上传文件三、把选择的Excel文件把文件内容转化为二进制四、通过插件中的xlsx.read()读取二进制数据...
    99+
    2023-05-15
    vue excel导入导出 vue excel导入 vue excel导出
  • Spring 实现excel及pdf导出表格示例
    整理文档,搜刮出一个Spring 实现excel及pdf导出表格的代码,稍微整理精简一下做下分享。excel 导出:package light.mvc.utils.excel; import java.util.Date; import ...
    99+
    2023-05-31
    spring excel ce
  • ASP.NETMVC把表格导出到Excel
    有关Model: namespace MvcApplication1.Models { public class Coach { public in...
    99+
    2022-11-13
    ASP.NET MVC 表格导出到Excel
  • Java如何利用POI实现导入导出Excel表格
    这篇文章主要介绍“Java如何利用POI实现导入导出Excel表格”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java如何利用POI实现导入导出Excel表格”文章能帮助大家解决问题。一、Java...
    99+
    2023-07-06
  • Springboot实现导入导出Excel的方法
    目录一、添加poi的maven依赖二、自定义注解(Excel属性标题、位置等)三、CustomExcelUtils编写四、定义导出实体类五、Controller层代码编写一、添加po...
    99+
    2022-11-12
  • SpringBoot+EasyPoi实现excel导出功能
    在实际项目开发中,对于Excel的导入导出还是很常见的需求,比如说将数据根据模板批量导入到数据库中,以及将数据库中的数据批量导出陈Excel的形式 现有需求: 根据检索条件查询列表并...
    99+
    2022-11-12
  • Java Poi导出Excel表格详解
    一、导出下面的表格 二、流程详解         1、导出excel需要先将数据准备好         2、创建工作傅对象SXSSFWorkbook         3、使用工作傅对象创建sheet对象(工作页)         4、使用...
    99+
    2023-09-01
    java
  • 怎么用vue导出excel表格
    这篇文章主要介绍了怎么用vue导出excel表格的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用vue导出excel表格文章都会有所收获,下面我们一起来看看吧。一、安装vue-json-excelnpm&n...
    99+
    2023-06-30
  • SpringBoot+easypoi实现数据的Excel导出
    本文实例为大家分享了SpringBoot+easypoi实现数据的Excel导出的具体代码,供大家参考,具体内容如下 maven <dependency> ...
    99+
    2022-11-12
  • Vue2.0如何实现将页面中表格数据导出excel
    小编给大家分享一下Vue2.0如何实现将页面中表格数据导出excel,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!项目中将后台返回的数据v-for到表格中,然后需要将这个表格导出为EXCE...
    99+
    2022-10-19
  • Java实现将导出带格式的Excel数据到Word表格
    在Word中制作报表时,我们经常需要将Excel中的数据复制粘贴到Word中,这样则可以直接在Word文档中查看数据而无需打开另一个Excel文件。但是如果表格比较长,内容就会存在一...
    99+
    2022-11-16
    Java导出Excel数据到Word Java导出Excel数据 Java 导出数据
  • Springboot 导入导出Excel ,一对多关系,复合表格、合并单元格数据
    前言 学习是自己的事。 但是跟着我学习,也未尝不可。 这种一对多的导出需求,好像确实也是比较常见的:  表面拒绝,反手上演一手实战示例。 内容: ① 一对多关系数据 (合并单元格)数据的 导出 ②一对多关系数据 ...
    99+
    2023-08-31
    java springboot excel 1对多 导入导出
  • elementui导出数据为xlsx、excel表格
    最近学习vue项目,遇见elementui导出数据为xlsx、excel表格,今天就介绍给大家,也给自己留个笔记,方便查询 我这里为了同学们好理解,把所有元素都写到一个页面。 &nb...
    99+
    2022-11-12
  • Java实现导出合并Excel单元格
    目录一、准备工作二、实现步骤三、完整代码四、总结随着数据的不断增长,很多时候需要将数据导出到Excel中进行分析、处理和展示。而Java作为一种流行的编程语言,自然也提供了很多实现E...
    99+
    2023-05-17
    Java导出合并Excel单元格 Java导出Excel Java合并Excel Java Excel
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作