《Java對象和Excel轉(zhuǎn)換工具XXL-EXCEL》
一擒贸、簡介
1.1 概述
XXL-EXCEL 是一個(gè)靈活的Java對象和Excel文檔相互轉(zhuǎn)換的工具。
一行代碼完成Java對象和Excel之間的轉(zhuǎn)換。
1.2 特性
- 1忠怖、Excel導(dǎo)出:支持Java對象裝換為Excel腹缩,并且支持File、字節(jié)數(shù)組机久、Workbook等多種導(dǎo)出方式臭墨;
- 2、Excel導(dǎo)入:支持Excel轉(zhuǎn)換為Java對象膘盖,并且支持File胧弛、InputStream、文件路徑侠畔、Workbook等多種導(dǎo)入方式结缚;
- 3、全基礎(chǔ)數(shù)據(jù)類型支持:Excel的映射Java對象支持設(shè)置任意基礎(chǔ)數(shù)據(jù)類型软棺,將會(huì)自動(dòng)完整值注入红竭;
- 4、Field寬度自適應(yīng)喘落;
- 5茵宪、多Sheet導(dǎo)出:導(dǎo)出Excel時(shí)支持設(shè)置多張sheet;
- 6瘦棋、多Sheet導(dǎo)入:導(dǎo)入Excel時(shí)支持設(shè)置多張sheet稀火,通過 "@ExcelSheet.name" 注解匹配Sheet;
1.4 下載
文檔地址
源碼倉庫地址
源碼倉庫地址 | Release Download |
---|---|
https://github.com/xuxueli/xxl-excel | Download |
https://gitee.com/xuxueli0323/xxl-excel | Download |
技術(shù)交流
1.5 環(huán)境
- JDK:1.7+
二、快速入門
2.1 引入maven依賴
<!-- http://repo1.maven.org/maven2/com/xuxueli/xxl-excel-core/ -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-excel</artifactId>
<version>1.0.0</version>
</dependency>
2.2 定義Java對象
@ExcelSheet(name = "商戶列表", headColor = HSSFColor.HSSFColorPredefined.LIGHT_GREEN)
public class ShopDTO {
@ExcelField(name = "商戶ID")
private int shopId;
@ExcelField(name = "商戶名稱")
private String shopName;
public ShopDTO() {
}
public ShopDTO(int shopId, String shopName) {
this.shopId = shopId;
this.shopName = shopName;
}
public int getShopId() {
return shopId;
}
public void setShopId(int shopId) {
this.shopId = shopId;
}
public String getShopName() {
return shopName;
}
public void setShopName(String shopName) {
this.shopName = shopName;
}
}
2.3 Excel導(dǎo)出:Object 轉(zhuǎn)換為 Excel
// 參考測試代碼:com.xuxueli.poi.excel.test.Test
/**
* Excel導(dǎo)出:Object 轉(zhuǎn)換為 Excel
*/
ExcelExportUtil.exportToFile(filePath, shopDTOList);
2.4 Excel導(dǎo)入:Excel 轉(zhuǎn)換為 Object
// 參考測試代碼:com.xuxueli.poi.excel.test.Test
/**
* Excel導(dǎo)入:Excel 轉(zhuǎn)換為 Object
*/
List<Object> list = ExcelImportUtil.importExcel(ShopDTO.class, filePath);
三赌朋、總體設(shè)計(jì)
3.1 功能定位
XXL-EXCEL 是在 Java 對象和 Excel 文檔之間進(jìn)行轉(zhuǎn)換的迅速而靈活的工具憾股。
借助 XXL-EXCEL鹿蜀,一個(gè)Java類對象可以完整描述一張Excel表,XXL-EXCEL 做的事情就是把Java對象映射成Excel文件服球,同時(shí)保證性能和穩(wěn)定茴恰。
3.2 Java 對象 和 Excel映射關(guān)系
-- | Excel | Java 對象 |
---|---|---|
表 | Sheet | Java對象列表 |
表頭 | Sheet首行 | Java對象Field |
數(shù)據(jù) | Sheet一行記錄 | Java對象列表中一個(gè)元素 |
3.3 核心注解:ExcelSheet
功能:描述Sheet信息,注解添加在待轉(zhuǎn)換為Excel的Java對象類上斩熊,可選屬性如下往枣。
ExcelSheet | 說明 |
---|---|
name | 表/Sheet名稱 |
headColor | 表頭/Sheet首行的顏色 |
3.4 核心注解:ExcelField
功能:描述Sheet的列信息,注解添加在待轉(zhuǎn)換為Excel的Java對象類的字段上粉渠,可選屬性如下分冈。
ExcelField | 說明 |
---|---|
name | 屬性/列名稱 |
四、版本更新日志
略
五霸株、其他
5.1 項(xiàng)目貢獻(xiàn)
歡迎參與項(xiàng)目貢獻(xiàn)雕沉!比如提交PR修復(fù)一個(gè)bug,或者新建 Issue 討論新特性或者變更去件。
5.2 用戶接入登記
更多接入的公司坡椒,歡迎在 登記地址 登記,登記僅僅為了產(chǎn)品推廣尤溜。
5.3 開源協(xié)議和版權(quán)
產(chǎn)品開源免費(fèi)倔叼,并且將持續(xù)提供免費(fèi)的社區(qū)技術(shù)支持。個(gè)人或企業(yè)內(nèi)部可自由的接入和使用宫莱。
- Licensed under the GNU General Public License (GPL) v3.
- Copyright (c) 2015-present, xuxueli.
捐贈(zèng)
無論金額多少都足夠表達(dá)您這份心意丈攒,非常感謝 :) 前往捐贈(zèng)