• jxcel


    更多精彩博文,欢迎访问我的个人博客


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

    输出的表格如下:


    更多精彩博文,欢迎访问我的个人博客

  • 相关阅读:
    关闭Antimalware
    C#转义符
    属性与字段的思考
    TimescaleDB安装
    返回更弱的类型
    Polly HttpClient重试机制
    一步改造成async异步方法
    监听节点属性变化
    浏览器事件循环
    笔记产品会不会被淘汰
  • 原文地址:https://www.cnblogs.com/jptangchina/p/11023061.html
Copyright © 2020-2023  润新知