jxcel - 好用的Excel與Java對象轉換工具

更多精彩博文,歡迎訪問個人我的博客java


Jxcel簡介

Jxcel是一個支持Java對象與Excel(目前僅xlsx、xls)互相轉換的工具包。git

項目地址:github.com/jptangchina…github

特性說明

  • 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");
複製代碼

輸出的表格以下:spa


更多精彩博文,歡迎訪問個人我的博客code

相關文章
相關標籤/搜索