Java對象和Excel轉(zhuǎn)換工具XXL-EXCEL

《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)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市授霸,隨后出現(xiàn)的幾起案子巡验,更是在濱河造成了極大的恐慌,老刑警劉巖碘耳,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件深碱,死亡現(xiàn)場離奇詭異,居然都是意外死亡藏畅,警方通過查閱死者的電腦和手機(jī)敷硅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來愉阎,“玉大人绞蹦,你說我怎么就攤上這事“竦” “怎么了幽七?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長溅呢。 經(jīng)常有香客問我澡屡,道長猿挚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任驶鹉,我火速辦了婚禮绩蜻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘室埋。我一直安慰自己办绝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布姚淆。 她就那樣靜靜地躺著孕蝉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪腌逢。 梳的紋絲不亂的頭發(fā)上降淮,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機(jī)與錄音搏讶,去河邊找鬼佳鳖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛窍蓝,可吹牛的內(nèi)容都是我干的腋颠。 我是一名探鬼主播繁成,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼吓笙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了巾腕?” 一聲冷哼從身側(cè)響起面睛,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎尊搬,沒想到半個(gè)月后叁鉴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡佛寿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年幌墓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冀泻。...
    茶點(diǎn)故事閱讀 38,137評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡常侣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出弹渔,到底是詐尸還是另有隱情胳施,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布肢专,位于F島的核電站舞肆,受9級(jí)特大地震影響焦辅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜椿胯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一筷登、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧压状,春花似錦仆抵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至娱两,卻和暖如春莺匠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背十兢。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工趣竣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人旱物。 一個(gè)月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓遥缕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宵呛。 傳聞我的和親對象是個(gè)殘疾皇子单匣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1.之前項(xiàng)目需求導(dǎo)出簡單的excel表格,網(wǎng)上找到了一個(gè)叫xxl-excel的工具宝穗。 xxl-excel底層用了p...
    電飯鍋黑胡椒閱讀 2,793評論 0 1
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,748評論 6 342
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,520評論 25 707
  • 讀導(dǎo)言時(shí)户秤,不喜歡這個(gè)書名的翻譯,更喜歡意愿力或意志力逮矛。讀到正文部分鸡号,開始領(lǐng)悟譯者。 所謂意志力须鼎,就是控制自己的注意...
    JulieZhu閱讀 523評論 0 0
  • 編程范式(Programming Paradigm)是某種編程語言的典型編程風(fēng)格或者說是編程方式鲸伴。字面值(lite...
    Albert陳凱閱讀 229評論 0 0