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 用记忆函数快速计算递归函数
Mar 15 Javascript
面向对象的Javascript之三(封装和信息隐藏)
Jan 27 Javascript
JavaScript输入邮箱自动提示实例代码
Jan 13 Javascript
自己使用js/jquery写的一个定制对话框控件
May 02 Javascript
让你一句话理解闭包(简单易懂)
Jun 03 Javascript
Javascript中arguments对象的详解与使用方法
Oct 04 Javascript
Vue.js在使用中的一些注意知识点
Apr 29 Javascript
解决Vue页面固定滚动位置的处理办法
Jul 13 Javascript
微信小程序实现的自定义分享功能示例
Feb 12 Javascript
微信小程序实现工作时间段选择
Feb 15 Javascript
javascript实现点亮灯泡特效示例
Oct 15 Javascript
JS中的const命令你真懂它吗
Mar 08 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中获取url与物理路径的总结
2013/06/21 PHP
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
2015/04/03 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
JavaScript的eval JSON object问题
2009/11/15 Javascript
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
JavaScript仿微博发布信息案例
2016/11/16 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
Angular4自制一个市县二级联动组件示例
2017/11/21 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
vue router 通过路由来实现切换头部标题功能
2019/04/24 Javascript
JS数组splice操作实例分析
2019/10/12 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
[01:34]2014DOTA2展望TI 剑指西雅图VG战队专访
2014/06/30 DOTA
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
python变量赋值方法(可变与不可变)
2019/01/12 Python
Python数据库小程序源代码
2019/09/15 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
详解django中Template语言
2020/02/22 Python
python argparse传入布尔参数false不生效的解决
2020/04/20 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
教师节商场活动方案
2014/02/13 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
北大自主招生自荐信
2015/03/04 职场文书
党员带头倡议书
2015/04/29 职场文书
2015年工商所工作总结
2015/05/21 职场文书
如何使用pdb进行Python调试
2021/06/30 Python