您好,登錄后才能下訂單哦!
這篇文章主要介紹了java如何使用EasyExcel導入導出excel,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
<!-- poi 相關--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> <!-- esayexcel 2.1.7 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.7</version> </dependency>
字段注解 | 類注解 |
---|---|
@ColumnWith(列寬) | @ColumnWidth(全局列寬) |
@ExcelProperty(字段配置) | @HeadFontStyle(頭樣式) |
@HeadRowHeight(標題高度) | |
@ContentFontStyle(內容字體樣式) | |
@ContentRowHeight(內容高度) |
必要的一個注解,注解中有三個參數value,index分別代表列明,列序號
value和index只能二選一,通常不用設置converter
1.value 通過標題文本對應
2.index 通過文本行號對應
@ExcelProperty(value = "編號", index = 0) private Long id;
設置列寬度,只有一個參數value,value的單位是字符長度,最大可以設置255個字符,因為一個excel單元格最大可以寫入的字符個數就是255個字符
public class ImeiEncrypt { @ColumnWidth(value = 255) //excel單個單元格最大長度255 private String message; }
用于設置單元格內容字體格式的注解
參數 | 含義 |
---|---|
fontName | 字體名稱 |
fontHeightInPoints | 字體高度 |
italic | 是否斜體 |
strikeout | 是否設置刪除水平線 |
color | 字體顏色 |
typeOffset | 偏移量 |
underline | 下劃線 |
bold | 是否加粗 |
charset | 編碼格式 |
設置內容格式注解
參數 | 含義 |
---|---|
dataFormat | 日期格式 |
hidden | 設置單元格使用此樣式隱藏 |
locked | 設置單元格使用此樣式鎖定 |
quotePrefix | 在單元格前面增加`符號,數字或公式將以字符串形式展示 |
horizontalAlignment | 設置是否水平居中 |
wrapped | 設置文本是否應換行。將此標志設置為true通過在多行上顯示使單元格中的所有內容可見 |
verticalAlignment | 設置是否垂直居中 |
rotation | 設置單元格中文本旋轉角度。03版本的Excel旋轉角度區間為-90°90°,07版本的Excel旋轉角度區間為0°180° |
indent | 設置單元格中縮進文本的空格數 |
borderLeft | 設置左邊框的樣式 |
borderRight | 設置右邊框樣式 |
borderTop | 設置上邊框樣式 |
leftBorderColor | 設置左邊框顏色 |
rightBorderColor | 設置右邊框顏色 |
topBorderColor | 設置上邊框顏色 |
bottomBorderColor | 設置下邊框顏色 |
fillPatternType | 設置填充類型 |
fillBackgroundColor | 設置背景色 |
shrinkToFit | 設置自動單元格自動大小 |
用于定制標題字體格式
參數 | 含義 |
---|---|
fontName | 設置字體名稱 |
fontHeightInPoints | 設置字體高度 |
italic | 設置字體是否斜體 |
strikeout | 是否設置刪除線 |
color | 設置字體顏色 |
typeOffset | 設置偏移量 |
underline | 設置下劃線 |
charset | 設置字體編碼 |
bold | 設置字體是否加粗 |
不將該字段轉換成Excel
package com.pingou.admin.bean.param; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.format.DateTimeFormat; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; import java.math.BigDecimal; import java.util.Date; @Data @ContentRowHeight(35) //文本行高度 @HeadRowHeight(40) //標題高度 @ColumnWidth(40) public class OrderExcel { //設置excel表頭名稱 @ExcelProperty(value = "編號", index = 0) private Long id; @DateTimeFormat("yyyy年MM月dd日HH時mm分ss秒") @ExcelProperty(value = "創建時間", index = 1) private Date createTime; }
以上是簡單的舉例,如果有更多屬性自己逐個寫就好,然后塞進該實體類就好~
public void excel() { //欲導出excel的數據結果集 List<OrderExcel> excel = new ArrayList<>(); //省略 向結果集里插入數據的操作 //UUID生成唯一name String name = UUID.randomUUID().toString().replaceAll("-", "") + ".xlsx"; //實現excel寫的操作 //1 設置寫入文件夾地址和excel文件名稱 String filename = "/路徑" + name; JSONObject json = new JSONObject(); try { // 2 調用easyexcel里面的方法實現寫操作 // write方法兩個參數:第一個參數文件路徑名稱,第二個參數實體類class EasyExcel.write(filename, OrderExcel.class).sheet("名字").doWrite(excel); //上傳到fastdfs上 不上傳的話只有本機可以找到,在上面路徑下生成excel File file = new File(filename); String path = fastDFSClient.upload(new FileInputStream(file), name, null); path = (this.fastdfsDomain + path); json.put("url", path); } catch (IOException e) { e.printStackTrace(); } finally { new File(filename).delete(); } }
Java的特點有哪些 1.Java語言作為靜態面向對象編程語言的代表,實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。 2.Java具有簡單性、面向對象、分布式、安全性、平臺獨立與可移植性、動態性等特點。 3.使用Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“java如何使用EasyExcel導入導出excel”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。