发表于: 2018-03-17 22:52:24
1 575
今天完成的任务
1、完成方案设计
2、接口文档写好并保存到WIKI
3、拆禅道需求,分解成任务
4、完成代码生成
5、参考易教练的导出excel的方法,梳理流程:
- 生成excel具体流程:
A、生成Excel使用的我们自己的工具类GenerateFileUtil.class,这个工具类里调用了velocity模板用来填充excel数据,所以要在IoC容器里面配置velocity:
B、以易教练项目为例,要导出所有教练信息的excel,还需要再新建一个实体类CoachParam.class,这个实体类除了包含教练类Coach.class的所有属性及对应的getter、setter方法外,还有两个
独特的属性:config、key。这个CoachParam.class是用来存储要导出到excel的数据以及设置excel的表头
C、导出excel的接口,需要在接口上使用@FileTemplate注解,这个注解是我们自己的注解。这个注解设定了3个属性,分别是excel模板(excel.vm)的在classpath的路径、生成的excel存放路
径、excel文件名(默认为空字符串)。接口里主要是把要导出的教练信息coachList、coachParam.config、coachParam.keys存到ModelMap中,并返回一个叫做“/data/json”的视图。
D、导出excel的操作是通过拦截器的postHandel方法。在步骤c返回视图后,再进行处理:
a、从接口的@FileTemplate注解获取excel模板路径、excel存放路径;
b、自行设置excel文件名;
c、调用工具类GenarateFileUtil进行excel导出,入参是接口返回的ModelMap,excel模板路径、excel存放路径、excel文件名(具体就是,把接口ModelMap里的coachParam.keys作为excel的
表头,coachList的每一个对象作为一行数据填充到excel中,填充完毕后输出到指定的存放路径)
d、拼出一个excel的下载地址url,并存到ModelMap中,然后设置新的视图名“/common/export”
e、Spring MVC会对“/common/export”进行渲染,返回code、message、url给接口调用方
遇到的问题
收获
明天的计划
1、进行代码分发、跑通测试类
2、把方案也保存到WIKI
3、编写接口
进度
http://xp.ptteng.com/index.php?m=project&f=task
评论