首页 > 代码库 > 开发指南专题十五:JEECG微云快速开发平台EXCEL导入导出

开发指南专题十五:JEECG微云快速开发平台EXCEL导入导出


开发指南专题十五:JEECG微云快速开发平台EXCEL导入导出

14.EXCEL导入导出

Excel的导入导出抽取通用功能,简化大家对POI的操作,对实体对象进行简单的注解配置就可以完成导入导出,模板的使用更是可以让打造漂亮的Excle报表,从而使大家从重复的工作中解脱出来,更加关注与业务的处理.


14.1注解介绍

   注解名

作用对象

描述

是否必须

Excel

字段

Excel字段的cell属性设置

ExcelCollection

字段

对集合对象进行标记表示一对多导出

ExcelTarget

实体

唯一标识(建议设置)

ExcelIgnore

字段

导出是忽略这个对应(避免无限循环)

ExcelEntity

字段

导出的对象,即关联属性


应用实例:


主要属性介绍


ExcelTarget: id设置导出ExcelID,字段可以根据ID判断是否需要导出;


Excel|ExcelEntity|ExcelCollection:exportName设置导出的名称显示在Excel的表头


同时可以填写如课程_courseEnity这样只有在导出CourseEntity这个对象的时候才导出,不标记ID视为都导出


Excel| ExcelCollection:orderNum设置这个字段的顺序,既所在的列数,默认是按照字段的顺序排序


Eexcel|exportConvertSign,Excel| importConvertSign,Excel|imExConvert这三个功能都是Excel注解的属性,他们的作用也是相似,就是你对直接重数据拿出的数据进行处理,即自定义处理函数,第一个在导出时使用,第二个导入时使用,如果导入导出都要使用可以直接使用第三个,默认是0不使用设置为1就使用例子


Sex这个大家经常用,一般数据是0,1但是显示需要男女



这样我们在导入导出都使用我们自己定义的函数而不是get,set



自定义函数的规则是普通的get,set函数前面加convert


Excel|exportType导出类型1是文本 2是图片,3是函数默认是文本


        当导出图片时我们最好使用exportFieldWidthexportFieldHeight设置列的高和宽


1.1. Excel导入


导出工具类ExcelImportUtil


提供两个函数,都是List返回集合


1.处理文件


public static Collection<?>importExcel(File file, Class<?> pojoClass,


                           ImportParamsparams) {}


2.处理流


public static Collection<?>importExcelByIs(InputStreaminputstream,


                           Class<?>pojoClass, ImportParams params){}


导入参数设置ImportParams


根据我们导入的模板进行参数设置


现在我们以课程为例进行导入先看下模板



ImportParams|titleRows表格标题行数,默认0我们没有标题所以也是0


ImportParams|secondTitleRows这个就是表头列数,我们这里有2列所以设置为2


ImportParams|keyIndex主键列,面向一对多,比如课程对学生,我们的课程名称就是主键,所以这个keyIndex就是0


ImportParams|needSave是否需要保存,默认不需要


ImportParams|saveUrl如果保存的上传的Excel保存的路径,默认是如TestEntity这个类保存路径就是upload/excelUpload/Test/yyyyMMddHHmss_*****保存名称上传时间_五位随机数


例子:课程的导入


步骤一对需要导入的对象进行注解



步骤二,添加上传页面



步骤三:后台进行接收处理函数


        根据我们的模板我们创建相应的对象如:


然后调用Util就可以返回我们需要的list,之后进行处理就可以了

导入就完成了