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


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


Jxcel簡介

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

項目地址:https://github.com/jptangchina/jxcel

特性說明

  • 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");

輸出的表格如下:


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM