更多精彩博文,歡迎訪問我的個人博客
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");
輸出的表格如下:
更多精彩博文,歡迎訪問我的個人博客