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 相关文章推荐
Javascript常用运算符(Operators)-javascript基础教程
Dec 14 Javascript
JS控制阿拉伯数字转为中文大写示例代码
Sep 04 Javascript
jQuery对JSON数据进行排序输出的方法
Jun 24 Javascript
jQuery validate插件实现ajax验证重复的2种方法
Jan 22 Javascript
JS判断是否手机或pad访问实现方法
Dec 09 Javascript
AngularJS执行流程详解
Feb 17 Javascript
bootstrap table表格插件使用详解
May 08 Javascript
利用Ionic2 + angular4实现一个地区选择组件
Jul 27 Javascript
vue移动端轻量级的轮播组件实现代码
Jul 12 Javascript
JavaScript继承与聚合实例详解
Jan 22 Javascript
JS实现导航栏楼层特效
Jan 01 Javascript
js实现幻灯片轮播图
Aug 14 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调用时间格式的参数详解
2013/06/06 PHP
解析php中获取url与物理路径的总结
2013/06/21 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
简单三步实现报表页面集成天气
2016/12/15 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
JS验证input输入框(字母,数字,符号,中文)
2017/03/23 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
给Python入门者的一些编程建议
2015/06/15 Python
详解Python开发中如何使用Hook技巧
2017/11/01 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
python cv2截取不规则区域图片实例
2019/12/21 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
Crabtree & Evelyn欧盟:豪华洗浴、身体和护发
2021/03/09 全球购物
大学新生欢迎词
2014/01/10 职场文书
毕业生自荐书
2014/02/03 职场文书
美术专业自荐信
2014/07/07 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
亮剑精神观后感
2015/06/05 职场文书
七一表彰大会简报
2015/07/20 职场文书
Python基础之变量的相关知识总结
2021/06/23 Python
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript