在前几天初步学习了简单了解析之后,需要将之运用到实际项目中
一、导出Excel
在学习了初步解析之后,便开始准备加到项目中,项目中,通过web请求携带参数,进行数据库数据的查找,并导出Excel,
(一)、Ajax请求携带查询条件等参数时,数据可以解析,但是总是在最后一步输出excel的时候报错,经过反复查找,确认Ajax请求是和导出时所用是有冲突的,
这个冲突暂时么有找到解决方法,所以便使用了其他的请求方式
(二)、如上请求中,从前台页面获取了需要导出excel的标题信息,进入后台进行导出,此时,遇到了第二个问题,后台通过request的数据是乱码
按照记忆中的,首先查看jsp的编码方式,是utf-8,于是便在网上查找,一个一个方法测试,找到了解决Tomat服务器上request乱码的解决方式,并添加
补录Jetty的解决方式. 链接:http://blog.csdn.net/yjaspire/article/details/51536623
接下来继续做解析的功能:
一、将文件上传至服务器根据文件路径进行解析,利用java反射匹配对应POJO对象。
问题:
(一、)
上传是fileupload写了一个Servlet,然后进行解析,想做成一个公用的,于是便需要从前台获取对应Excel需要解析对应POJO的Controller类名,在servlet中进行解析,
利用java反射进行固定解析方法调用
(二、)静态方法调用进行解析并转换POJO对象
在这里首先定义好中文名于变量对应的map,通过解析excel头与这个map进行匹配,得到对应变量,在利用java反射,进行POJO对象转换
至此上传解析Excel便完成了,
本地服务器测试成功!
二、不进行上传,通过解析类直接进行解析
Ajax进行上传,携带json数据,调用servlet,
进入到业务层,根据文件数据行数进行一一赋值(在这里需要对文件数据进行处理,如数据的格式,去除0等操作)
此种方法需要注意的是数据的转换,以及读取的行数。远程服务器也已测试成功!
最开始在看了最简单的导出和解析之后,本来不准备自己写的,在网上找现成的想,却么有找到自己想要的,于是只能自己写了,期间遇到很多问题,然而每解决一个便进步一点,代码,还是自己手敲得比较好,,,,,
两中解析方式对应03版本和07版本,项目中只用到了07的,03只是在本地测试过;
源码下载地址:http://download.csdn.net/detail/yjaspire/9540272