AutoPOI EXCEL导出导入工具
AutoPOI (Excel和 Word简易工具类 EasyPOI衍变升级版)
AutoPOI 功能如同名字auto,追求的就是自动化,让一个没接触过poi的人员,可以傻瓜式半智能化的快速实现Excel导入导出、Word模板导出、可以仅仅5行代码就可以完成Excel的导入导出。
AutoPOI的主要特点1.设计精巧,使用简单
2.接口丰富,扩展简单
3.默认值多,write lessdomore
4.AbstractView支持,web导出可以简单明了
AutoPOI的几个入口工具类1.ExcelExportUtilExcel导出(普通导出,模板导出)
2.ExcelImportUtilExcel导入
3.WordExportUtilWord导出(只支持docx,doc版本poi存在图片的bug,暂不支持)
关于Excel导出XLS和XLSX区别1.导出时间XLS比XLSX快2-3倍
2.导出大小XLS是XLSX的2-3倍或者更多
3.导出需要综合网速和本地速度做考虑^~^
几个工程的说明1.autopoi-parent父包--作用大家都懂得
2.autopoi导入导出的工具包,可以完成Excel导出,导入,Word的导出,Excel的导出功能
3.autopoi-web耦合了spring-mvc基于AbstractView,极大的简化spring-mvc下的导出功能
4.sax导入使用xercesImpl这个包(这个包可能造成奇怪的问题哈),word导出使用poi-scratchpad,都作为可选包了
maven
org.jeecgframework
autopoi-web
1.0.2
AutoPoi 模板 表达式支持空格分割
三目运算 { {test ? obj:obj2}}
n: 表示 这个cell是数值类型 { {n:}}
le: 代表长度{ {le:()}} 在if/else 运用{ {le:() > 8 ? obj1 : obj2}}
fd: 格式化时间 { {fd:(obj;yyyy-MM-dd)}}
fn: 格式化数字 { {fn:(obj;###.00)}}
fe: 遍历数据,创建row
!fe: 遍历数据不创建row
$fe: 下移插入,把当前行,下面的行全部下移.size()行,然后插入
!if: 删除当前列 { {!if:(test)}}
单引号表示常量值 '' 比如'1' 那么输出的就是 1
AutoPoi导出实例
1.注解,导入导出都是基于注解的,实体上做上注解,标示导出对象,同时可以做一些操作
@ExcelTarget("courseEntity")
publicclassCourseEntityimplementsjava.io.Serializable{
/** 主键 */
privateStringid;
/** 课程名称 */
@Excel(name="课程名称",orderNum="1",needMerge=true)
privateStringname;
/** 老师主键 */
@ExcelEntity(id="yuwen")
@ExcelVerify()
privateTeacherEntityteacher;
/** 老师主键 */
@ExcelEntity(id="shuxue")
privateTeacherEntityshuxueteacher;
@ExcelCollection(name="选课学生",orderNum="4")
privateListstudents;
2.基础导出 传入导出参数,导出对象,以及对象列表即可完成导出
HSSFWorkbookworkbook=ExcelExportUtil.exportExcel(newExportParams(