从数据库返回一般是对象的列表,平台底层提供了从list转为excel文件的方法。平台的设计思想就是为一些典型的场景设计对应的解决方法,通过模式化的方法来简化编程和提高维护性(通过标准化来减少学习成本和维护成本,张三做的东西和李四做的东西模式一样)
ExportOfListVO xls=new ExportOfListVO();xls.setSheetName("招聘会");String []col="举办单位,招聘会名称,招聘会类型,开始时间,结束时间,计划规模,企业总数,岗位总数,需求人数,投递数".split(",");String []field="organizingUnit,fairName,fairTypeDes,fairDate,fairDateEnd,plannedScale,companyCount,jobCount,needCount,applyCount".split(",");ExcelColAttribute[]head=new ExcelColAttribute[col.length];for(int i=0;i<col.length;i++){head[i]=new ExcelColAttribute();head[i].setColName(col[i]);head[i].setColField(field[i]);}xls.setCols(head);xls.setObjectList(result);String filename=CommonsUtil.getTmpFileName()+".xls";String path="."+ File.separator+"tmp"+File.separator+filename;xls.setFileName(path);ExcelUtil.exportExcel(xls,null);
基本模式就是填充ExportOfListVO,然后调用ExcelUtil.exportExcel。
field对应数据对象的数据属性。
导出效果如下: