jquery实现excel导出的方法


Posted in Javascript onApril 04, 2013

由于javascript本身是没有权限操作本地文件的,除非使用ActiveX,但这东西麻烦又不安全,完全不想用.所以从页面的表格中获得数据保存成本地文件的办法是行不通了.

我们想要导出的是表格中的数据,表格中的数据又是从服务器来的,那我们把服务器上的数据下到本地保存成文件不就可以了.

服务端实现代码:

ServletOutputStream out = null;
try{
//设置输出csv的头信息
 response.setContentType("text/csv");
 String disposition = "attachment; fileName=data.csv";
 response.setHeader("Content-Disposition", disposition);
 //获得输出对象
 out = response.getOutputStream();
 //获得数据
 byte[] blobData = CSVParser.parseCsv(rs).getBytes();
 out.write(blobData);
 out.flush();
 out.close();
}catch(Exception e){
 throw e;
}finally{
 if(out != null)
  out.close();
}

有句代码有必要解释一下CSVParser.parseCsv(rs).  CSVParser是我在其他地方实现的一个将从数据库中查出的ResultSet对象转换为CSV数据的类.parseCsv方法的参数rs就是ResultSet对象.返回的就是csv格式的字符串数据

客户端我是利用iframe进行下载的。写了个比较通用的方法,大家可以把这个函数放到某个js文件中,使用时直接在页面调用即可

//带入url根据查询的数据返回csv
function bsuExportCsv(url){
 //如果页面中没有用于下载iframe,增加iframe到页面中
 if($('#downloadcsv').length<=0)
  $('body').append("<iframe id=\"downloadcsv\" style=\"display:none\"></iframe>");
 $('#downloadcsv').attr('src',url);
}

url是要请求数据的servlet的地址,该地址一定是要返回csv格式的数据

先判断页面中是否有id为downloadcsv的iframe如果没有在body标签中加入iframe.然后将iframe的src属性设置为传入的url地址.

使用时知道在要导出的页面调用bsuExportCsv("http://localhost:8080/csvservelt")就可以了.

Javascript 相关文章推荐
分享27个jQuery 表单插件集合推荐
Apr 25 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
Feb 16 Javascript
js实现常用排序算法
Aug 09 Javascript
jquery属性,遍历,HTML操作方法详解
Sep 17 Javascript
WEB前端实现裁剪上传图片功能
Oct 17 Javascript
AngularJS过滤器filter用法分析
Dec 11 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
Feb 20 Javascript
利用canvas实现的加载动画效果实例代码
Jul 05 Javascript
微信小程序自定义底部弹出框
Nov 16 Javascript
JavaScript实现的九种排序算法
Mar 04 Javascript
layui写后台表格思路和赋值用法详解
Nov 14 Javascript
JS实现网页时钟特效
Mar 25 Javascript
关于jquery input textare 事件绑定及用法学习
Apr 03 #Javascript
Jquery实现弹出层分享微博插件具备动画效果
Apr 03 #Javascript
让低版本浏览器支持input的placeholder属性(js方法)
Apr 03 #Javascript
用Jquery重写windows.alert方法实现思路
Apr 03 #Javascript
如何使用jquery动态加载js,css文件实现代码
Apr 03 #Javascript
关于js注册事件的常用方法
Apr 03 #Javascript
JavaScript栏目列表隐藏/显示简单实现
Apr 03 #Javascript
You might like
php 404错误页面实现代码
2009/06/22 PHP
PHP面向对象概念
2011/11/06 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
基于Jquery制作图片文字排版预览效果附源码下载
2015/11/18 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
js实现密码强度检测【附示例】
2016/03/30 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
python追加元素到列表的方法
2015/07/28 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
2019/08/21 Python
Python如何创建装饰器时保留函数元信息
2020/08/07 Python
HTML5 canvas画矩形时出现边框样式不一致的解决方法
2013/10/14 HTML / CSS
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
有机童装:Toby Tiger
2018/05/23 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
欧姆龙医疗保健与医疗产品:Omron Healthcare
2020/02/10 全球购物
户外活动策划方案
2014/03/12 职场文书
药学职务聘任书
2014/03/29 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
公司搬迁通知
2015/04/20 职场文书
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers