美文网首页JAVA-Excel
Java对象和Excel转换工具XXL-EXCEL

Java对象和Excel转换工具XXL-EXCEL

作者: 许雪里 | 来源:发表于2017-09-13 20:42 被阅读276次

    《Java对象和Excel转换工具XXL-EXCEL》

    一、简介

    1.1 概述

    XXL-EXCEL 是一个灵活的Java对象和Excel文档相互转换的工具。

    一行代码完成Java对象和Excel之间的转换。

    1.2 特性

    • 1、Excel导出:支持Java对象装换为Excel,并且支持File、字节数组、Workbook等多种导出方式;
    • 2、Excel导入:支持Excel转换为Java对象,并且支持File、InputStream、文件路径、Workbook等多种导入方式;
    • 3、全基础数据类型支持:Excel的映射Java对象支持设置任意基础数据类型,将会自动完整值注入;
    • 4、Field宽度自适应;
    • 5、多Sheet导出:导出Excel时支持设置多张sheet;
    • 6、多Sheet导入:导入Excel时支持设置多张sheet,通过 "@ExcelSheet.name" 注解匹配Sheet;

    1.4 下载

    文档地址

    源码仓库地址

    源码仓库地址 Release Download
    https://github.com/xuxueli/xxl-excel Download
    https://gitee.com/xuxueli0323/xxl-excel Download

    技术交流

    1.5 环境

    • JDK:1.7+

    二、快速入门

    2.1 引入maven依赖

    <!-- http://repo1.maven.org/maven2/com/xuxueli/xxl-excel-core/ -->
    <dependency>
        <groupId>com.xuxueli</groupId>
        <artifactId>xxl-excel</artifactId>
        <version>1.0.0</version>
    </dependency>
    

    2.2 定义Java对象

    @ExcelSheet(name = "商户列表", headColor = HSSFColor.HSSFColorPredefined.LIGHT_GREEN)
    public class ShopDTO {
    
        @ExcelField(name = "商户ID")
        private int shopId;
    
        @ExcelField(name = "商户名称")
        private String shopName;
    
        public ShopDTO() {
        }
    
        public ShopDTO(int shopId, String shopName) {
            this.shopId = shopId;
            this.shopName = shopName;
        }
    
        public int getShopId() {
            return shopId;
        }
    
        public void setShopId(int shopId) {
            this.shopId = shopId;
        }
    
        public String getShopName() {
            return shopName;
        }
    
        public void setShopName(String shopName) {
            this.shopName = shopName;
        }
    
    }
    

    2.3 Excel导出:Object 转换为 Excel

    // 参考测试代码:com.xuxueli.poi.excel.test.Test
    
    /**
     * Excel导出:Object 转换为 Excel
     */
    ExcelExportUtil.exportToFile(filePath, shopDTOList);
    
    

    2.4 Excel导入:Excel 转换为 Object

    // 参考测试代码:com.xuxueli.poi.excel.test.Test
    
    /**
     * Excel导入:Excel 转换为 Object
      */
    List<Object> list = ExcelImportUtil.importExcel(ShopDTO.class, filePath);
    

    三、总体设计

    3.1 功能定位

    XXL-EXCEL 是在 Java 对象和 Excel 文档之间进行转换的迅速而灵活的工具。

    借助 XXL-EXCEL,一个Java类对象可以完整描述一张Excel表,XXL-EXCEL 做的事情就是把Java对象映射成Excel文件,同时保证性能和稳定。

    3.2 Java 对象 和 Excel映射关系

    -- Excel Java 对象
    Sheet Java对象列表
    表头 Sheet首行 Java对象Field
    数据 Sheet一行记录 Java对象列表中一个元素

    3.3 核心注解:ExcelSheet

    功能:描述Sheet信息,注解添加在待转换为Excel的Java对象类上,可选属性如下。

    ExcelSheet 说明
    name 表/Sheet名称
    headColor 表头/Sheet首行的颜色

    3.4 核心注解:ExcelField

    功能:描述Sheet的列信息,注解添加在待转换为Excel的Java对象类的字段上,可选属性如下。

    ExcelField 说明
    name 属性/列名称

    四、版本更新日志

    五、其他

    5.1 项目贡献

    欢迎参与项目贡献!比如提交PR修复一个bug,或者新建 Issue 讨论新特性或者变更。

    5.2 用户接入登记

    更多接入的公司,欢迎在 登记地址 登记,登记仅仅为了产品推广。

    5.3 开源协议和版权

    产品开源免费,并且将持续提供免费的社区技术支持。个人或企业内部可自由的接入和使用。

    • Licensed under the GNU General Public License (GPL) v3.
    • Copyright (c) 2015-present, xuxueli.

    捐赠

    无论金额多少都足够表达您这份心意,非常感谢 :) 前往捐赠

    相关文章

      网友评论

        本文标题:Java对象和Excel转换工具XXL-EXCEL

        本文链接:https://www.haomeiwen.com/subject/rpblsxtx.html