SpringBoot搭配EasyExcel,一切表格就這麼完美解決了~

2021-02-13 編程成長營

作者:GreenCode

出處:https://www.cnblogs.com/nayou/p/13896456.html

正文如下:

# 概述


EasyExcel是一個基於Java的簡單、省內存的讀寫Excel的開源項目。在儘可能節約內存的情況下支持讀寫百M的Excel。

github地址:https://github.com/alibaba/easyexcel

# EasyExcel控制表格註解


@ContentRowHeight(int):
設置 row 高度,不包含表頭標記在 類上@ContentRowHeight(15) 


@HeadRowHeight(int):
設置 表頭 高度(與 @ContentRowHeight 相反)標記在 類上@HeadRowHeight(20)  


@ColumnWidth(int):
設置列寬標記在屬性上@ColumnWidth(20)  


@ExcelProperty(value = String[], index = int):
設置表頭信息value: 表名稱index: 列號
@ExcelProperty(index = 0, value = "學生名字")


# SpringBoot實戰應用


導入依賴
<dependency>    <groupId>com.alibaba</groupId>    <artifactId>easyexcel</artifactId>    <version>2.0.0-beta5</version></dependency>


創建Excel實體類對象
@Data@ContentRowHeight(15)@HeadRowHeight(20)@ColumnWidth(20)public class StudentCurrentExcel {    @ExcelProperty(index = 0, value = "學生名字")    private String studentName;
@ExcelProperty(index = 1, value = "性別") private String gender;
@ExcelProperty(index = 2, value = "年級/班級") private String deptCode;
@ExcelProperty(index = 3, value = "通道名稱") private String screenName;
@ExcelProperty(index = 4, value = "通行方向") private String direction;
@ExcelProperty(index = 5, value = "通行時間") private Date passageTime;
@ExcelProperty(index = 6, value = "體溫") private String temperate;
@ExcelProperty(index = 7, value = "組織結構") private Integer deptId;}


導出Controller
@UnAuthorized@ApiOperation(value = "導出學生通行記錄")@GetMapping("studentCurrents/export")public void exportStudentCurrents(HttpServletResponse response, HttpServletRequest request) throws IOException {        response.setContentType("application/vnd.ms-excel");        response.setCharacterEncoding("utf-8");        String fileName = "學生通行記錄" + DateUtils.getDate("yyyy-MM-dd HH:mm") + ".xlsx";        response.setHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));
List<StudentCurrent> all = this.studentCurrentService.findAll();
List<StudentCurrentExcel> list = getNotPassData2(all); EasyExcel.write(response.getOutputStream(), StudentCurrentExcel.class).sheet("員工考勤信息").doWrite(list);}


格式轉換
private List<StudentCurrentExcel> getNotPassData2(List<StudentCurrent> studentCurrentList) {    List<StudentCurrentExcel> list = new ArrayList<>();    for (StudentCurrent studentCurrent : studentCurrentList) {        StudentCurrentExcel excel = new StudentCurrentExcel();        Integer gender = studentCurrent.getGender();
excel.setStudentName(studentCurrent.getStudentName()); excel.setGender(studentCurrent.getGender() == 4 ? "男" : "女");
excel.setDeptCode(studentCurrent.getDeptCode()); excel.setDeptId(studentCurrent.getDeptId()); excel.setPassageTime(studentCurrent.getPassageTime()); excel.setTemperate(studentCurrent.getTemperate()); excel.setScreenName(studentCurrent.getScreenName()); list.add(excel); } return list;}

是不是很easy啊?


長按關注~

相關焦點

  • Springboot整合easyExcel導入導出Excel
    ,因此在此記錄學習一下如何使用Springboot整合easyExcel;需求:資料庫中有張user表,有個業務要求可以導入、導出「用戶名單.xls」表一、準備:創建項目:關於springboot項目如何創建這裡不再贅述,放一張項目結構圖:1、導入easyexcel、mybatis、mysql依賴
  • SpringBoot使用EasyExcel讀取excel表格中的數據到資料庫中
    -- https://mvnrepository.com/artifact/com.alibaba/easyexcel --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel<
  • SpringBoot整合EasyPoi實現Excel的導入和導出(帶圖片)
    EasyPoi文檔:http://easypoi.mydoc.io/項目地址:https://gitee.com/lihongmin5211/springboot_easypoi準備工作環境:SpringBoot2.4.0、jdk8、Mysql5.7表結構:
  • 文職美女上班手動用Excel表格太麻煩,當學會python後easy操作
    通過程序操作excel表格是編程中比較常見的操作,python本身不能直接操作excel,需要安裝第三方的模塊來實現excel的操作。Python中可以操作excel模塊主要有:1、xlrd 模塊實現exlcel表格讀取2、xlwd 模塊實現excel表格創建和寫入3、pandas模塊也可以實現excel常規操作
  • labview中excel easy text無法運行的處理方式
    不知道從何時起,也許是從重裝系統起,excel easy text就不能執行了,我一直苦於尋求答案,今天在ni上看到一個原因解答如下面所示:如果是程序執行了一段時間之後錯誤出現,這個很有可能是由於電子表格的大小達到限制
  • 沒想到啊,Java操作Excel竟然這麼簡單!
    前言在工作中,使用excel表格處理數據是很常見的操作,本文就來講解下如何使用開源輪子實現下載、導入、導出的功能。在之前,很多Java程式設計師都喜歡使用POI的類庫來操作excel,但是非常的不方便,不僅代碼寫的很臃腫,還要處理各種office版本兼容問題,最怕的就是使用不當很容易造成內存溢出,因此今天給大家推薦阿里的一款開源項目 easyexcel。
  • Python讀寫Excel表格,就是這麼簡單粗暴又好用
    以前正好在一本書上看到過使用Python來處理Excel表格,可惜沒有仔細看。於是我到處查找資料,基本解決了日常所需,終於算是完成了任務,因此撰寫此文就算是總結吧,主要記錄使用過程的常見問題及解決。python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。可從這裡下載https://pypi.python.org/pypi。
  • word表格轉excel換行變多格怎麼解決
    【問題】有時為了方便處理表格數據,需要將word裡面的表格複製到excel裡,但是,word一個單元格裡面有換行,複製到excel後會佔用兩個單元格。雖然看起來一樣,但是不便於表格數據處理,否則也沒必要複製到excel了。
  • 牛逼的EasyExcel,讓Excel導入導出更加簡單,附詳細教程!
    實際使用中,發現是真的很easy,大部分api通過名稱就能知道大致意思,這點做的很nice。參考文檔,大部分場景的需求基本都能夠滿足。GitHub上的官方說明快速開始maven倉庫地址<dependency>    <groupId>com.alibaba</groupId>    <artifactId>easyexcel</artifactId>    <version>
  • excel表格超連結無法打開怎麼辦? 教你一招輕鬆解決!
    excel表格超連結無法打開怎麼辦? 教你一招輕鬆解決!時間:2017-08-08 14:41   來源:系統天堂   責任編輯:沫朵 川北在線核心提示:原標題:excel表格超連結無法打開怎麼辦? 教你一招輕鬆解決! excel表格超連結無法打開怎麼辦?為什麼超連結會無法打開呢?這個問題要如何解決呢?
  • Excel 是表格,歪果仁說 you excel me 難道是「你表格我」?
    大家都知道 word 有「單詞」的意思,那你知道 excel 的含義嗎?比如老外常說的 You excel me,可千萬不能理解成「你表格了我」。那 excel 到底是什麼意思呢?戰勝,超越如果有人跟你說 you excel me,千萬不要一頭霧水以為對方是在說「你表格我」,其實是在誇你!言外之意就是「你比我厲害,你比較強」。
  • Python讀寫Excel表格,就是這麼簡單粗暴又好用(文末送書)
    以前正好在一本書上看到過使用Python來處理Excel表格,可惜沒有仔細看。於是我到處查找資料,基本解決了日常所需,終於算是完成了任務,因此撰寫此文就算是總結吧,主要記錄使用過程的常見問題及解決。python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。可從這裡下載https://pypi.python.org/pypi。
  • 不讓別人動你的excel表格,就這麼做
    圖文/蘭色幻想(來自excel精英培訓微信平臺)你的Excel表格被人有意或無意修改,是一件很苦惱的事。
  • excel表格怎麼篩選數據? excel表格篩選數據圖文教程
    excel表格怎麼篩選數據? excel表格篩選數據圖文教程時間:2018-03-20 17:27   來源:系統天堂   責任編輯:沫朵 川北在線核心提示:原標題:excel表格怎麼篩選數據? excel表格篩選數據圖文教程 excel表格怎麼篩選數據?
  • 如何把excel表格導入word? Excel的表格導入word圖文教程
    如何把excel表格導入word? Excel的表格導入word圖文教程時間:2017-07-11 13:30   來源:三聯   責任編輯:沫朵 川北在線核心提示:原標題:如何把excel表格導入word? Excel的表格導入word圖文教程 如何把excel表格導入word?
  • excel小知識第23期:excel中多個表格快速求和
    每天進步一點點,大家好,歡迎收看excel小知識第23期:excel中多個表格快速求和在以往的excel小知識中跟大家分享了如何在一個表格中快速去和所有的數據,不知道小夥伴們都學會了嗎?在我們使用excel的時候當時是怎麼快速完成我們手中的工作怎麼來了,如何快速有效地完成了我們的工作的方法就是我們需要的,那麼不知道小夥伴們有沒有遇到在同一個excel表格中有著多個表格需要計算總和,那麼我們應該怎麼快速便捷地完成這個工作呢?今天和大家分享的就是excel中多個表格快速求和。
  • 增值稅電子發票識別軟體/一鍵導出excel表格
    關鍵詞:電子發票 電子發票識別 電子發票識別SDK 電子發票識別軟體 電子發票導出excel表格一、何為電子發票?三、電子發票識別軟體能否解決面臨的問題呢?大家都知道,無論是紙質的發票還是電子發票都不是電子數據,想要整理成表格或者存進管理系統都需要財務人員手工錄入,速度慢而且還容易出錯,生產力很低!因此,採用先進的技術手段來提升工作效率就顯得彌足重要!
  • excel小知識第89期:excel中超級表格的妙3
    每天進步一點點,大家好,歡迎收看excel小知識第89期:excel中超級表格的妙3大家應該都了解到在excel表格中有著一種功能叫做超級表格,那麼大家是否了解關於超級表格的妙用呢,為什麼叫做超級表格,超級表格怎麼使用呢?
  • excel表格列印怎麼變大? excel表格列印效果變大的方法
    excel表格列印怎麼變大? excel表格列印效果變大的方法時間:2018-04-03 10:10   來源:系統天堂   責任編輯:沫朵 川北在線核心提示:原標題:excel表格列印怎麼變大? excel表格列印效果變大的方法 excel表格列印怎麼變大?
  • Cad 轉 Excel,CAD表格轉為excel表格(兩種方法)
    △Cad 轉 Excel方法一,CAD自帶的表格1,單擊菜單欄→繪圖→表格(或者在命令行輸入table命令)2,選中該表格,右鍵選擇輸出,3,選擇輸出的路徑,4,輸出完的表格直接打開,可以看到表格出現了變化,不調節基本都用不了。