jxcel - 好用的Excel與Java物件轉換工具

鵬徙南暝發表於2019-06-14

更多精彩博文,歡迎訪問我的個人部落格


Jxcel簡介

Jxcel是一個支援Java物件與Excel(目前僅xlsx、xls)互相轉換的工具包。

專案地址:github.com/jptangchina…

特性說明

  • Java物件輸出為Excel檔案或Workbook物件
  • 語義化轉換,將數字型別或布林型別的值與語義化的值互相轉換
  • 生成的Excel檔案可以對列進行排序
  • 表頭與Java屬性精確匹配
  • 支援幾乎所有基本資料型別以及日期型別的轉換
  • 日期格式自定義
  • 表格寬度自適應
  • ......更多特性

引入依賴包

以Maven為例,引入Jxcel依賴包:

<dependency>
    <groupId>com.jptangchina</groupId>
    <artifactId>jxcel</artifactId>
    <version>${jxcel.version}</version>
</dependency>
複製程式碼

準備資料模型

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@JxcelSheet("學生名單")
class Student {
    @JxcelCell("年齡")
    private int age;
    @JxcelCell(value = "性別", parse = {"男", "女"})
    private int sex;
    @JxcelCell(value = "姓名", order = 1)
    private String name;
    @JxcelCell(value = "出生日期", format = "yyyy-MM-dd")
    private Date birthDay;
    @JxcelCell(value = "手機號", suffix = "\t")
    private String mobile;
}
複製程式碼

匯出資料到Excel

// 匯出為XLS Workbook物件
JxcelGenrator.xlsGenrator().generateWorkbook(Arrays.asList(new Student()));
// 匯出為XLSX Workbook物件
JxcelGenrator.xlsxGenrator().generateWorkbook(Arrays.asList(new Student()));
// 匯出為XLS檔案
JxcelGenrator.xlsGenrator().generateFile(Arrays.asList(new Student()));
// 匯出為XLSX檔案
JxcelGenrator.xlsxGenrator().generateFile(Arrays.asList(new Student()));
複製程式碼

將Excel解析為Java物件

// 從檔案解析
JxcelParser.parser().parseFromFile(Student.class, new File(filePath));
// 從Workbood物件解析
JxcelParser.parser().parseFromWorkbook(Student.class, workbook);
複製程式碼

例子

Student student = new Student(18, 0, "JptangChina", new Date(), "18510010000");
JxcelGenrator.xlsxGenrator().generateFile(Arrays.asList(student), "/home/jptangchina/test.xlsx");
複製程式碼

輸出的表格如下:

jxcel - 好用的Excel與Java物件轉換工具


更多精彩博文,歡迎訪問我的個人部落格

相關文章