EasyPoi 快速Office 开发
本次更新重点是加入了groupname属性,可以轻松的解决双行表头的数据处理问题,导入导出同时支持,建议升级
此次更新内容:
加入了groupName 方便处理双行表头问题
ExcelEntity 也支持双行设置
加入和导入列顺序校验
修复图片导出bug
修复默认值问题
ali规范修复版本
修复double默认值问题
其他小问题
EasyPoi的主要特点
1.设计精巧,使用简单 2.接口丰富,扩展简单 3.默认值多,write less do more 4.AbstractView 支持,web导出可以简单明了
easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,PDF导出,Excel转HTML,Excel charts导出通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法
作者博客:http://blog.afterturn.cn/ 作者邮箱: qrb.jueyue@gmail.com 开发者:魔幻之翼 xf.key@163.com
引用来自“xmlspyspring”的评论
1.代码和以前比规范了不少,胡乱起名和各种拼写错误更正了不少,但是还是有, 那个什么 ExcelExportServer 以及以Server结尾的类,本来的目的是一个服务类,而不是服务器类,看里面的注释是要表达这个意思.应该把Server都改Service.2.捕获异常后不重新抛出具体的异常也不打印日志,胡乱返回null然后这个null会在不知道那个国家爆出空指针异常,让使用者完全不知道错误在哪里. 这个问题也更正了不少.
3.拼写错误基本都更正了.但我还是发现了一个漏网之鱼:
ExcelBatchExportServer batachServer = ExcelBatchExportServer
.getExcelBatchExportServer(entity, pojoClass);
batach应该改为batch
4.Excel模板中的表达式,应该把表达式的解析与其他逻辑分离出来, 这个我也没有想出什么好办法.
5.所有的导入导出,都应该添加一个Callback,用于给用户自己处理当前的数据转换和cell自定义.比如:
Excel模板导出的时候,可以有个Callback,里面有如下方法:
public void execute(Column currentColumn, Row currentRow, Cell currentCell, Object currentRowData,Object currentCellData)
// currentRowData对应的就是currentRow对象,前者是要输入给后者的数据,currentCellData和currentCell亦如是.
// 这里用户就可以任意改当前行列的样式,和任意改当前数据的格式,这个相当于样式自定义和数据转换的结合体
//是不是这种模式可以应用于整个程序中? 原先的那些自定义的表达式都可以使用这个方式改造?
//包括原先的样式处理是否也可以改成这个样?
// 默认添加一些实现,就是原先的逻辑.如果用户想更自由定义样式和数据转换,添加一个这个callback自己进行处理.
//这个callback不是一个而是一个List,可以添加无数个,程序中按顺序进行调用.
//这个类似spring中的那个converter
2.捕获异常后不重新抛出具体的异常也不打印日志,胡乱返回null然后这个null会在不知道那个国家爆出空指针异常,让使用者完全不知道错误在哪里. 这个问题也更正了不少.
3.拼写错误基本都更正了.但我还是发现了一个漏网之鱼:
ExcelBatchExportServer batachServer = ExcelBatchExportServer
.getExcelBatchExportServer(entity, pojoClass);
batach应该改为batch
4.Excel模板中的表达式,应该把表达式的解析与其他逻辑分离出来, 这个我也没有想出什么好办法.
5.所有的导入导出,都应该添加一个Callback,用于给用户自己处理当前的数据转换和cell自定义.比如:
Excel模板导出的时候,可以有个Callback,里面有如下方法:
public void execute(Column currentColumn, Row currentRow, Cell currentCell, Object currentRowData,Object currentCellData)
// currentRowData对应的就是currentRow对象,前者是要输入给后者的数据,currentCellData和currentCell亦如是.
// 这里用户就可以任意改当前行列的样式,和任意改当前数据的格式,这个相当于样式自定义和数据转换的结合体
//是不是这种模式可以应用于整个程序中? 原先的那些自定义的表达式都可以使用这个方式改造?
//包括原先的样式处理是否也可以改成这个样?
// 默认添加一些实现,就是原先的逻辑.如果用户想更自由定义样式和数据转换,添加一个这个callback自己进行处理.
//这个callback不是一个而是一个List,可以添加无数个,程序中按顺序进行调用.
//这个类似spring中的那个converter