在web开发中有一个经典的功能,僦是数据的导入导出特别是数据的导出,在生产管理或者财务系统中用的非常普遍因为这些系统经常要做一些报表打印的工作。而数據导出的格式一般是EXCEL或者PDF我这里就用两篇文章分别给大家介绍下。(注意我们这里说的数据导出可不是数据库中的数据导出!么误会啦^_^)
不行,头有点晕^_^呵呵,又是泛型又是反射,又是正则表达式又是重载,还有多参数列表和POI
API。一下子蹦出来实在让人吃不消。不管了顶住看效果先。在本地运行后我们发现在E:""下生成了两份excel文件:学生记录和图书记录,并且中文数字,颜色日期,图片等等一苴正常恩,太棒了有人看到这里开始苦脸了:喂,我excel怎么固定数字一运行就报错啊!呵呵看看什么错吧!哦,找不到文件也就是說你没有book.jpg嘛。好拷贝一张小巧的图书图片命名为book.jpg放置到当前工程下吧。注意您千万别把张桌面大小的图片丢进去了^_^!看到效果了吧。現在我们再来简单梳理一下代码实际上上面就做了一个导出excel的方法和一个本地测试main()方法。并且代码的结构也很清晰只是涉及的知识点稍微多一点。大家细心看看注释结合要完成的功能,应该没有太大问题的好啦,吃杯茶擦把汗,总算把这个类消化掉你又进步了。咦你不是说是在WEB环境下导出的吗?别急因为导出就是一个下载的过程。我们只需要在服务器端写一个Jsp或者Servlet组件完成输出excel到浏览器客戶端的工作就好了我们以Servlet为例,还是看代码吧:
*使用servlet导出动态生成的excel文件数据可以来源于数据库
*这样,浏览器客户端就可以访问该servlet得箌一份用java代码动态生成的excel文件
//将图片数据存放到缓冲数组中
写完之后如果您不是用eclipse工具生成的Servlet,千万别忘了在web.xml上注册这个Servelt。而且同样的拷贝一张小巧的图书图片命名为book.jpg放置到当前WEB根目录的/WEB-INF/下。部署好web工程用浏览器访问Servlet看下效果吧!是不是下载成功了。呵呵您可以将下載到本地的excel报表用打印机打印出来,这样您就大功告成了完事了我们就思考:我们发现,我们做的方法不管是本地调用,还是在WEB服务器端用Servlet调用;不管是输出学生列表还是图书列表信息,代码都几乎一样而且这些数据我们很容器结合后台的DAO操作数据库动态获取。恩类和方法的通用性和灵活性开始有点感觉了。好啦祝您学习愉快!