国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

《springboot中實現(xiàn)excel表格導(dǎo)出》

這篇具有很好參考價值的文章主要介紹了《springboot中實現(xiàn)excel表格導(dǎo)出》。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

《springboot中實現(xiàn)excel表格導(dǎo)出》

簡介

在Spring Boot中,實現(xiàn)Excel表格導(dǎo)出的方式有很多種,以下是幾種常見的方法:

  1. 使用Apache POI:Apache POI是一個開源的Java API,用于處理Microsoft Office文檔格式,包括Excel電子表格。在Spring Boot中,可以使用Apache POI創(chuàng)建Excel文檔,并將其寫入HTTP響應(yīng)中,以實現(xiàn)Excel表格的導(dǎo)出。
  2. 使用EasyPOI:EasyPOI是一個開源的Java API,用于處理Excel電子表格。它基于Apache POI和Jxls開發(fā),提供了更加簡單易用的API,可以幫助我們快速實現(xiàn)Excel表格的導(dǎo)出。
  3. 使用Jxls:Jxls是一個用于生成Excel報表的Java庫。在Spring Boot中,可以使用Jxls創(chuàng)建Excel文檔,并將其寫入HTTP響應(yīng)中,以實現(xiàn)Excel表格的導(dǎo)出。
  4. 使用第三方庫:還有其他一些第三方的Java庫可以用于生成Excel電子表格,例如Aspose.Cells、JExcelApi等,它們也可以在Spring Boot中使用,實現(xiàn)Excel表格的導(dǎo)出。

需要注意的是,無論使用哪種方法,都需要將Excel文檔寫入HTTP響應(yīng)中,并設(shè)置正確的Content-Type和Content-Disposition頭信息,以確保瀏覽器能夠正確地識別Excel文檔并下載它。文章來源地址http://www.zghlxwxcb.cn/news/detail-589835.html

一、Apache POI

  • maven依賴坐標(biāo)
<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi</artifactId>
  <version>4.1.2</version>
</dependency>
<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-ooxml</artifactId>
  <version>4.1.2</version>
</dependency>

@RestController
public class ExcelController {

  @GetMapping("/export")
  public void exportExcel(HttpServletResponse response) throws Exception {
    // 創(chuàng)建Excel文檔
    XSSFWorkbook workbook = new XSSFWorkbook();
    XSSFSheet sheet = workbook.createSheet("Sheet1");

    // 創(chuàng)建表頭
    XSSFRow header = sheet.createRow(0);
    header.createCell(0).setCellValue("姓名");
    header.createCell(1).setCellValue("年齡");
    header.createCell(2).setCellValue("性別");

    // 填充數(shù)據(jù)
    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());
    }

    // 設(shè)置響應(yīng)頭信息
    response.setContentType("application/vnd.ms-excel");
    response.setHeader("Content-Disposition", "attachment; filename=users.xlsx");

    // 將Excel文檔寫入響應(yīng)流中
    ServletOutputStream outputStream = response.getOutputStream();
    workbook.write(outputStream);
    outputStream.flush();
    outputStream.close();
  }

  // 模擬獲取用戶數(shù)據(jù)
  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依賴坐標(biāo)
<dependency>
  <groupId>cn.afterturn</groupId>
  <artifactId>easypoi-base</artifactId>
  <version>4.2.0</version>
</dependency>
<dependency>
  <groupId>cn.afterturn</groupId>
  <artifactId>easypoi-web</artifactId>
  <version>4.2.0</version>
</dependency>

@RestController
public class ExcelController {

  @GetMapping("/export")
  public void exportExcel(HttpServletResponse response) throws Exception {
    // 創(chuàng)建Excel文檔
    Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("用戶列表", "用戶信息"), User.class, getUserList());

    // 設(shè)置響應(yīng)頭信息
    response.setContentType("application/vnd.ms-excel");
    response.setHeader("Content-Disposition", "attachment; filename=users.xlsx");

    // 將Excel文檔寫入響應(yīng)流中
    ServletOutputStream outputStream = response.getOutputStream();
    workbook.write(outputStream);
    outputStream.flush();
    outputStream.close();
  }

  // 模擬獲取用戶數(shù)據(jù)
  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依賴坐標(biāo)
<dependency>
  <groupId>org.jxls</groupId>
  <artifactId>jxls</artifactId>
  <version>2.14.0</version>
</dependency>
<dependency>
  <groupId>org.jxls</groupId>
  <artifactId>jxls-poi</artifactId>
  <version>2.14.0</version>
</dependency>

@RestController
public 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);

    // 填充數(shù)據(jù)
    List<User> users = getUserList();
    Map<String, Object> model = new HashMap<>();
    model.put("users", users);
    JxlsHelper.getInstance().processTemplate(model, workbook.getSheetAt(0));

    // 設(shè)置響應(yīng)頭信息
    response.setContentType("application/vnd.ms-excel");
    response.setHeader("Content-Disposition", "attachment; filename=users.xlsx");

    // 將Excel文檔寫入響應(yīng)流中
    ServletOutputStream outputStream = response.getOutputStream();
    workbook.write(outputStream);
    outputStream.flush();
    outputStream.close();
  }

  // 模擬獲取用戶數(shù)據(jù)
  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;
    }
  }
}

到了這里,關(guān)于《springboot中實現(xiàn)excel表格導(dǎo)出》的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Java 導(dǎo)出Excel表格生成下拉框-EasyExcel
  • Spring Boot中Excel數(shù)據(jù)導(dǎo)入導(dǎo)出的高效實現(xiàn)

    Spring Boot中Excel數(shù)據(jù)導(dǎo)入導(dǎo)出的高效實現(xiàn)

    ?? 前言 歡迎來到我的技術(shù)小宇宙!?? 這里不僅是我記錄技術(shù)點滴的后花園,也是我分享學(xué)習(xí)心得和項目經(jīng)驗的樂園。?? 無論你是技術(shù)小白還是資深大牛,這里總有一些內(nèi)容能觸動你的好奇心。?? ?? 洛可可白 :個人主頁 ?? 個人專欄 :?前端技術(shù) ?后端技術(shù) ?? 個人

    2024年03月15日
    瀏覽(24)
  • Spring Boot集成EasyExcel實現(xiàn)excel導(dǎo)入導(dǎo)出操作

    Spring Boot集成EasyExcel實現(xiàn)excel導(dǎo)入導(dǎo)出操作

    Easy Excel 官網(wǎng) Java解析、生成Excel比較有名的框架有Apache poi、jxl。但他們都存在一個嚴(yán)重的問題就是非常的耗內(nèi)存,poi有一套SAX模式的API可以一定程度的解決一些內(nèi)存溢出的問題,但POI還是有一些缺陷,比如07版Excel解壓縮以及解壓后存儲都是在內(nèi)存中完成的,內(nèi)存消耗依然很

    2024年02月14日
    瀏覽(20)
  • 【MySQL × SpringBoot 突發(fā)奇想】全面實現(xiàn)流程 · 數(shù)據(jù)庫導(dǎo)出Excel表格文件的接口

    【MySQL × SpringBoot 突發(fā)奇想】全面實現(xiàn)流程 · 數(shù)據(jù)庫導(dǎo)出Excel表格文件的接口

    在上一篇博客,【MySQL × SpringBoot 突發(fā)奇想】全面實現(xiàn)流程 · xlsx文件,Excel表格導(dǎo)入數(shù)據(jù)庫的接口_s:103的博客-CSDN博客 我們學(xué)習(xí)了如何導(dǎo)入表格,現(xiàn)在我們反過來,看看如何導(dǎo)出表格~ 網(wǎng)絡(luò)資料: View Object(視圖對象)是一種在軟件開發(fā)中常見的設(shè)計模式,它用于在用戶界面

    2024年02月08日
    瀏覽(20)
  • Easys Excel的表格導(dǎo)入(讀)導(dǎo)出(寫)-----java

    Easys Excel的表格導(dǎo)入(讀)導(dǎo)出(寫)-----java

    可以學(xué)習(xí)一些新知識: EasyExcel官方文檔 - 基于Java的Excel處理工具 | Easy Excel excel的一些優(yōu)點和缺點 java解析excel的框架有很多 : poi jxl,存在問題:非常的消耗內(nèi)存, easyexcel 我們遇到再大的excel都不會出現(xiàn)內(nèi)存溢出的問題 能夠?qū)⒁粋€原本3M excel文件,poi來操作將會占用內(nèi)存 100MB,

    2024年02月13日
    瀏覽(25)
  • Java中使用JXLS工具類導(dǎo)出復(fù)雜Excel表格

    Java中使用JXLS工具類導(dǎo)出復(fù)雜Excel表格

    前言 ? ?在項目開發(fā)中,我們會遇到各種文件導(dǎo)出的開發(fā)場景,但是這種情況并都不常用,于是本人將自己工作中所用的代碼封裝成工具類,旨在記錄工具類使用方法和技術(shù)分享。 一、Jxls的簡介 ? ?Jxls是一個簡單的、輕量級的excel導(dǎo)出庫,使用特定的標(biāo)記在excel模板文件中來

    2024年02月03日
    瀏覽(24)
  • Spring Boot 集成 EasyExcel 3.x 優(yōu)雅實現(xiàn)Excel導(dǎo)入導(dǎo)出

    Spring Boot 集成 EasyExcel 3.x 優(yōu)雅實現(xiàn)Excel導(dǎo)入導(dǎo)出

    本章節(jié)將介紹 Spring Boot 集成 EasyExcel(優(yōu)雅實現(xiàn)Excel導(dǎo)入導(dǎo)出)。 ?? Spring Boot 2.x 實踐案例(代碼倉庫) EasyExcel 是一個基于 Java 的、快速、簡潔、解決大文件內(nèi)存溢出的 Excel 處理工具。它能讓你在不用考慮性能、內(nèi)存的等因素的情況下,快速完成 Excel 的讀、寫等功能。 Ea

    2024年02月03日
    瀏覽(53)
  • Java 使用hutool工具進行導(dǎo)出導(dǎo)入excel表格(代碼很簡單)

    Java 使用hutool工具進行導(dǎo)出導(dǎo)入excel表格(代碼很簡單)

    創(chuàng)建一個Controller進行測試?

    2024年02月07日
    瀏覽(24)
  • Spring Boot 我隨手封裝了一個萬能的 Excel 導(dǎo)出工具,傳什么都能導(dǎo)出!

    Spring Boot 我隨手封裝了一個萬能的 Excel 導(dǎo)出工具,傳什么都能導(dǎo)出!

    如題,這個小玩意,就是不限制你查的是哪張表,用的是什么類。 我直接一把梭,嘎嘎給你一頓導(dǎo)出。 我知道,這是很多人都想過的, 至少我就收到很多人問過我這個類似的問題。 我也跟他們說了,但是他們就是不動手,其實真的很簡單。 不動手怎么辦? 我出手唄。 不多

    2024年02月06日
    瀏覽(23)
  • table 導(dǎo)出表格 Excel

    在請求中需要設(shè)置 responseType: blob 并且核心在于函數(shù): 在頁面中發(fā)送請求: 在 element 的表格組件中對選中的行進行導(dǎo)出

    2024年02月15日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包