更多精彩博文吃既,歡迎訪問(wèn)我的個(gè)人博客
Jxcel簡(jiǎn)介
Jxcel是一個(gè)支持Java對(duì)象與Excel(目前僅xlsx、xls)互相轉(zhuǎn)換的工具包。
項(xiàng)目地址:https://github.com/jptangchina/jxcel
特性說(shuō)明
- Java對(duì)象輸出為Excel文件或Workbook對(duì)象
- 語(yǔ)義化轉(zhuǎn)換,將數(shù)字類型或布爾類型的值與語(yǔ)義化的值互相轉(zhuǎn)換
- 生成的Excel文件可以對(duì)列進(jìn)行排序
- 表頭與Java屬性精確匹配
- 支持幾乎所有基本數(shù)據(jù)類型以及日期類型的轉(zhuǎn)換
- 日期格式自定義
- 表格寬度自適應(yīng)
- ......更多特性
引入依賴包
以Maven為例蒲牧,引入Jxcel依賴包:
<dependency>
<groupId>com.jptangchina</groupId>
<artifactId>jxcel</artifactId>
<version>${jxcel.version}</version>
</dependency>
準(zhǔn)備數(shù)據(jù)模型
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@JxcelSheet("學(xué)生名單")
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 = "手機(jī)號(hào)", suffix = "\t")
private String mobile;
}
導(dǎo)出數(shù)據(jù)到Excel
// 導(dǎo)出為XLS Workbook對(duì)象
JxcelGenrator.xlsGenrator().generateWorkbook(Arrays.asList(new Student()));
// 導(dǎo)出為XLSX Workbook對(duì)象
JxcelGenrator.xlsxGenrator().generateWorkbook(Arrays.asList(new Student()));
// 導(dǎo)出為XLS文件
JxcelGenrator.xlsGenrator().generateFile(Arrays.asList(new Student()));
// 導(dǎo)出為XLSX文件
JxcelGenrator.xlsxGenrator().generateFile(Arrays.asList(new Student()));
將Excel解析為Java對(duì)象
// 從文件解析
JxcelParser.parser().parseFromFile(Student.class, new File(filePath));
// 從Workbood對(duì)象解析
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");
輸出的表格如下:
更多精彩博文,歡迎訪問(wèn)我的個(gè)人博客