当前位置: 首页 > 软件库 > 程序开发 > Excel开发包 >

FastEJ

Object-Excel映射的通用解决方案
授权协议 MPL
开发语言 Java
所属分类 程序开发、 Excel开发包
软件类型 开源软件
地区 国产
投 递 者 冯卓
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

FastEJ说明

简介

在互联网信息发展的时代,对报表数据的处理需要一个通用化的解决方案。而导入Excel文件到内存、导出内存数据到Excel文件
是一个普遍化的需求。本项目旨在设计一个Object-Excel映射的通用解决方案。

使用说明

核心类

  • Excel 此类为FastEJ导入导出门面类 提供了三种方法

  • toJavaBean - Excel反序列化到JavaBean(导入)

  • toJavaBeanWithValidate - Excel反序列化到JavaBean带验证(导入)

  • fromJavaBean - JavaBean序列化到Excel文件(导出)

核心注解

  • ExcelBean 注解在需要导入导出的bean上(必须),参数有导入类型和导出类型两种(XLSX,XLS)

  • ExcelField 注解在bean的字段上,或getter方法上,参数有index(导出使用,顺序),colunmName(对应excel表头值) datePattern日期格式,及isGetter,标识是否是getter

  • ExcelNestedBean 注解在嵌套bean上,用于支持复合表头

  • EJValidationMessageKey 注解在bean上,用于带验证的导入后返回的Map所使用的key

导入验证功能

本库集成hibernate-validator,支持标准的validator注解。
同时使用自定义的占位符来实现默认几行几列的提示

部分实现

  • 导入功能使用的ASM字节码框架,比反射性能要好

  •  导入导出功能使用的Excel库是POI

关于

项目创建人: 悟达

作者:悟达

 相关资料
  • 接口通用问题解决方案 通用错误码,错误信息及解决方案 400(非法的client_id) 400(非法的client_secret) 402(未传当前用户手机号) 402(手机号不合法) 403,10002(IP不在白名单中,本次请求ip:xxx.xxx.xxx.xxx) 403(无权访问该接口) 406(该用户不存在,请管理员添加后再使用) 408(未传timestamp或者timestamp格

  • Java在Map接口中提供了通用支持。 语法 (Syntax) Set<T> set = new HashSet<T>(); 哪里 set - Set Interface的对象。 T - 在set声明期间传递的泛型类型参数。 描述 (Description) T是传递给通用接口Set及其实现类HashSet的类型参数。 例子 (Example) 使用您选择的任何编辑器创建以下Java程序。 pa

  • null 杰克逊在默认情况下有能力做到这一点。

  • 我正在尝试为创建一个通用行映射器。 因此,我的初始片段如下所示: 但是在构造函数中,getComponentType()返回null,因此clazz=null 我无法取得任何进展。 我做错了什么? 谢谢

  • 我无法在 Mac 上的用户窗体上填充我的组合框。 我创建了一个名为“nameList”的动态命名范围,其公式如下所示: 在Sheet1(命名:HOME)上,我创建了一个调用UserForm(命名:PostForm)的宏,在那里我创建了一个ComboBox(命名:username_Insert)。在Windows上,我只需要转到“属性”框 我在代码中尝试了多种解决方案: 我不确定我是否在正确的子中输

  • 我有两个对象,除了date成员外,其他成员都相同。在obj1中,date是java.sql.date,obj2.date是long(纪元)。 我需要编写一个映射器来将obj1映射到obj2。这就是我试图做的: 但是mapperImpl只有自己的日期转换实现: 我得到了: 这种转换的正确方式是什么?

  • 如何定义两个类之间的< code >一对一关系?我想我在某个地方出了问题,在概念上。我不知道是什么,但确实是。 让我们假设有两个类命名为 和 : 现在对于一个国家来说,只能有一个PM,PM只能属于一个国家。如何在映射文件中执行此操作? 我在尝试这个: 但是这种有效的映射只会在运行时产生异常。它说属性在类中找不到!但是它在类中搜索吗?它应该在类中搜索。 也帮我完成这两个类之间的< code >一对一

  • 问题内容: 我想用Hibernate映射超类中的通用字段。 我的母亲班是: 一个子类: 如您所见,我将覆盖value字段以指定要在数据库中使用的列。我的表ParameterValue由几列组成,每种类型对应一列。 但是hibernate抱怨: 好的,但是超类中getValue的良好配置是什么?(我在“需要帮助的地方”发表了评论) 问题答案: 我很确定您不能将单个Java属性映射到三个不同的列。您将