看导入功能的话链接这在:
批量导入数据到数据库,使用最新的技术,来涨姿势啦(一)
今天写导出功能:
前端:Angularjs + bootstrap ,数据请求都是ajax形式,富客户端类型
后端:SSM SpringMVC+Spring+Mybatis 采用RESTful架构风格
数据库:采用免费的mysql,简单做了索引优化,数据量不大
这个demo使用的技术是比较新的,而且excle的操作封装成了工具类,放在文末的github分享了,你可以拿去项目直接使用。
前端代码,服客户端也是mvc的,主要功能是给后台发送下载请求,发送一个下载的参数,后台处理完数据,形成一个excel,然后把链接返回前端,json的形式返回,前端拿这个链接下载文件。
调用顺序:html到contorller到service到api到后台
html前端就一个button按钮,点击下载没什么好说的
controller请求后台,获得下载链接
servoce层,发送向后的异步请求,传参并获得后台返回的结果
项目用的后台接口都放在常量里api
后台就是整个的数据的处理,并生成excle文件的过程。
controller层,接收前台的参数,判断参数条件,根据参数条件查询出数据并组装成excel文件
根据excel模版创建文件(ResultSet rs)
返回封装的json数据,get,set方法省略
service组装数据,做逻辑处理
mybatis动态sql语句
一个中型项目基本就是这样的一个架构了,关于数据的导入导出肯定是用poi的jar包来处理excel的相关规范,总的思路就是把数据库的数据放到内存也就是java中的list或者map中,然后转换成流也就是文件,存在你服务器的某个盘符下,组合成下载链接返回前端就好了。细节不讲,跟据你的项目要求可给随意更改,最有用的还是对excel的操作的所以方法,也就是对poi的一个简单的封装的工具类,分享到问末尾了。github你自己看吧。
学习java必看的武林秘籍,全世界都公认的,新手勿看,稍微懂一些以后好好研读这本书,一定好好研读。Think in Java,中文版:Java编程思想,一定别买什么xx从入门到精通,买本正版的看十几年,这本的好处世界公认,无需多言,最新版第四版
如上对excel的操作,封装成了一个工具类,包含导入和导出,你可以拿去直接在你的项目中使用,github如下:
http://git.oschina.net/lovepeng/codes/u42pa31nq6icyz0bvr5oe83
相关精彩推荐:
你知道吗,互联网的发展趋势,未来一定是这样的
百度旗下有哪些好用的产品
我是90后程序员,如果你热爱编程,喜欢互联网,可以关注一下我@两毛五哥哥,每天分享不一样的互联网知识,带小白飞,跟大神侃,我的格言是:做人不必优秀,要无可替代!