更多精彩博文,歡迎訪問我的個人部落格
Jxcel簡介
Jxcel是一個支援Java物件與Excel(目前僅xlsx、xls)互相轉換的工具包。
特性說明
- 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");
複製程式碼
輸出的表格如下:
更多精彩博文,歡迎訪問我的個人部落格