Hutool Java 工具類庫導出 Excel,超級簡單!

2021-02-13 Java知音

來源:toutiao.com/i6771298852050829835

前言

在開發應用系統的時候,導出文件是必不可放的功能。

以前用過POI、easyexcel等工具的導入導出功能,但總感覺太麻煩了,代碼特別多,感覺並不是很好用。

今天給大家介紹一款新工具,java工具類庫Hutool。

Hutool簡介

Hutool是一個小而全的Java工具類庫,通過靜態方法封裝,降低相關API的學習成本,提高工作效率,使Java擁有函數式語言般的優雅,讓使用者更輕鬆。

Hutool中的工具方法來自於每個用戶的精雕細琢,它涵蓋了Java開發底層代碼中的方方面面,它既是大型項目開發中解決小問題的利器,也是小型項目中的效率擔當;

Hutool是項目中「util」包友好的替代,它節省了開發人員對項目中公用類和公用工具方法的封裝時間,使開發專注於業務,同時可以最大限度的避免封裝不完善帶來的bug。

使用

首先在POM.xml中加入GAV

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.0.7</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.1</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml-schemas</artifactId>
    <version>3.17</version>
</dependency>

然後在控制層使用就行

@RequestMapping("/export")
@ResponseBody
public void export(HttpServletResponse response){
 List<User> list = new ArrayList<>();
 list.add(new User("zhangsan","1231",new Date()));
 list.add(new User("zhangsan1","1232",new Date()));
 list.add(new User("zhangsan2","1233",new Date()));
 list.add(new User("zhangsan3","1234",new Date()));
 list.add(new User("zhangsan4","1235",new Date()));
 list.add(new User("zhangsan5","1236", DateUtil.date(new Date())));
 // 通過工具類創建writer,默認創建xls格式
 ExcelWriter writer = ExcelUtil.getWriter();
 //自定義標題別名
 writer.addHeaderAlias("name", "姓名");
 writer.addHeaderAlias("age", "年齡");
 writer.addHeaderAlias("birthDay", "生日");
 // 合併單元格後的標題行,使用默認標題樣式
 writer.merge(2, "申請人員信息");
 // 一次性寫出內容,使用默認樣式,強制輸出標題
 writer.write(list, true);
 //out為OutputStream,需要寫出到的目標流
 //response為HttpServletResponse對象
 response.setContentType("application/vnd.ms-excel;charset=utf-8");
 //test.xls是彈出下載對話框的文件名,不能為中文,中文請自行編碼
 String name = StringUtils.toUtf8String("申請學院");
 response.setHeader("Content-Disposition","attachment;filename="+name+".xls");
 ServletOutputStream out= null;
 try {
  out = response.getOutputStream();
  writer.flush(out, true);
 }
 catch (IOException e) {
  e.printStackTrace();
 }
 finally {
  // 關閉writer,釋放內存
  writer.close();
 }
 //此處記得關閉輸出Servlet流
 IoUtil.close(out);
}

效果看到這裡就已經結束了,是不是很簡單?

強大,10k+點讚的 SpringBoot 後臺管理系統竟然出了詳細教程!

分享一套基於SpringBoot和Vue的企業級中後臺開源項目,代碼很規範!

能掙錢的,開源 SpringBoot 商城系統,功能超全,超漂亮!

相關焦點

  • 後端:Hutool Java 工具類庫導出 Excel,超級簡單!
    在開發應用系統的時候,導出文件是必不可放的功能。以前用過POI、easyexcel等工具的導入導出功能,但總感覺太麻煩了,代碼特別多,感覺並不是很好用。今天給大家介紹一款新工具,java工具類庫Hutool。
  • 程式設計師:java導出Excel,附帶依賴、後端代碼和前端JS
    ><version>${poi.version}</version></dependency>第二步:工具類import org.apache.poi.xssf.usermodel.
  • 沒想到啊,Java操作Excel竟然這麼簡單!
    前言在工作中,使用excel表格處理數據是很常見的操作,本文就來講解下如何使用開源輪子實現下載、導入、導出的功能。在之前,很多Java程式設計師都喜歡使用POI的類庫來操作excel,但是非常的不方便,不僅代碼寫的很臃腫,還要處理各種office版本兼容問題,最怕的就是使用不當很容易造成內存溢出,因此今天給大家推薦阿里的一款開源項目 easyexcel。
  • 牛逼的EasyExcel,讓Excel導入導出更加簡單,附詳細教程!
    EasyExcel在做excel導入導出的時候,發現項目中封裝的工具類及其難用,於是去gitHub上找了一些相關的框架,最終選定了EasyExcel。之前早有聽聞該框架,但是一直沒有去了解,這次藉此學習一波,提高以後的工作效率。
  • 優雅 | 今天很水的文章-Excel導入導出
    exceldownloadExl = () => { const { results } = this.props //需要導出的json數據 let datas = _.clone(results)//這裡為了不影響項目的數據的使用 採用了lodash中的深克隆方法 let json = datas.map(item=> { //將json
  • 微信好友怎麼導出excel?微信導出原來這麼簡單
    微信好友怎麼導出excel?微信導出原來這麼簡單 2020年01月19日 15:00作者:黃頁編輯:黃頁 微信好友怎麼導出
  • 從Java類庫看設計模式
    模式在各個人的理解上往往存在差異,這篇文章旨在從一個具體的應用角度:Java類庫,來闡敘設計模式。並結合具體的例子,希望能夠加深大家對設計模式的理解。  這兒說的Java類庫,其實並沒有局限於JDK本身,還包括了一些其他的類庫中的例子,比如JAXP等(當然,下一個版本的JDK中也會包含JAXP了)。
  • Springboot整合easyExcel導入導出Excel
    excel,因此在此記錄學習一下如何使用Springboot整合easyExcel;需求:資料庫中有張user表,有個業務要求可以導入、導出「用戶名單.xls」表一、準備:創建項目:關於springboot項目如何創建這裡不再贅述,放一張項目結構圖:1、導入easyexcel、mybatis、mysql依賴
  • Java實現文件批量導入導出實踐(兼容xls,xlsx)
    1、介紹java 實現文件的導入導出資料庫,目前在大部分系統中是比較常見的功能了,今天寫個小 demo 來理解其原理,沒接觸過的同學也可以看看參考下。目前我所接觸過的導入導出技術主要有 POI 和 iReport,poi 主要作為一些數據批量導入資料庫,iReport 做報表導出。
  • 認識Java類庫,實現基本的輸出與輸入
    例如,在Windows命令行窗口下運行程序時,控制臺是Windows命令行窗口,在集成開發工具Eclipse運行Java程序時,控制臺是Eclipse提供的程序運行窗口,也稱為Java console。
  • 2017年排名Top 100的Java類庫——在分析了259,885份源碼之後得出的結論
    該服務讓開發者可以使用Google的架構來運行SQL語句對超級大的資料庫進行操作。BigQuery 可在幾秒內掃描 1 TB 的數據,在幾分鐘內掃描 1 PB 的數據。首先,我們按照star數排名,從GitHub上拉取了前1000份Java代碼倉庫,然後過濾掉Android項目,剩下477個純Java項目。我們基於這477個純Java項目進行了分析。
  • Spring Boot使用EasyExecl導出Execl
    這裡,我們先引入EasyExecl所以的組件   com.alibabagroupId> easyexcelartifactId> 2.2.7version>dependency>  EasyExecl常用註解  EasyExecl提供了很多註解,使得我們在導出Execl的時候更加的方便  ExcelProperty
  • Hutool 3.2.3 發布,Java 工具集 - OSCHINA - 中文開源技術交流社區
    Hutool 是一個Java工具包,提供了豐富的文件、日期、日誌、正則、字符串、配置文件等工具方法,並封裝了一套簡單易用的ORM框架。 此次為一個小版本更新,主要修復bug~~ 希望大家可以為Hutool投上你帥氣的一票: http://www.oschina.net/project/top_cn_2017 進入頁面後快捷鍵:ctrl + f,搜索"hutool"即可找到哦~~ - ## 3.2.3### 新特性
  • CATIA軟體二次開發:焊點數據導出工具應用程式編寫
    2.新建項目,選擇「Windows窗口應用程式」模板,輸入項目名稱,如焊點數據導出工具,點擊確定按鈕,新項目創建完成。二、引用CATIA Autimation API類庫1.「項目」工具欄下點選「添加引用」,打開添加引用對話框。
  • C 導出 Excel 的 6 種簡單方法!你會幾種?
    【CSDN 編者按】C# 導出 Excel 的6種簡單方法:數據表導出到 Excel,對象集合導出到 Excel,資料庫導出到 Excel,微軟網格控制項導出到 Excel,數組導出到 Excel,CSV 導出到 Excel,你都會了嗎?
  • NPOI 導出 excel 性能測試
    excel 性能測試Intro網上看到很多人說 NPOI 的性能不行,自己寫了一個 NPOI 的擴展庫,於是想嘗試看看 NPOI 的性能究竟怎麼樣,道聽途說始終不如自己動手一試。測試環境測試工具:測試代碼:(Github 源碼)[SimpleJob(launchCount: 1, warmupCount: 1, targetCount: 5)][MemoryDiagnoser][MinColumn, MaxColumn, MeanColumn, MedianColumn]public
  • excel圖片導出的方法
            excel教程中圖片導出的操作應該怎樣進行呢?  假設一個excel工作表中有上百張圖片,如何批量導出到某一文件夾呢?  excel圖片導出的方法如下介紹。
  • 微信導出通訊錄:微信好友導出excel詳細教程
    微信導出通訊錄:微信好友導出excel詳細教程。微信是目前社會中最流行的社交工具了,不僅如此,我們的衣食住行、以及與好友間的語音視頻聊天都在微信,可隨著微信通訊錄裡的好友增加,我們在清理微信好友時也經常會誤刪!這個好友恢復方法很實用,趕緊收藏。
  • 從只用Excel做報表,到可視化報表工具真香,他經歷了什麼
    雖然國內報表工具起步比較晚,但是在近幾年的市場份額比重越來越大。國內以FineReport為代表,其市場佔有率也是經過IDC認證的第一,是類Excel報表工具的不二選擇。在性能和易用性方面,已經成為中國java報表的領跑者。自從有了它,我就再也沒打開過Excel。什麼是FineReport?