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基本语法分析说明
Jun 15 Javascript
ExtJS4中的requires使用方法示例介绍
Dec 03 Javascript
网站内容禁止复制和粘贴、另存为的js代码
Feb 26 Javascript
如何获取网站icon有哪些可行的方法
Jun 05 Javascript
使用jQuery的attr方法来修改onclick值
Jul 07 Javascript
用原生JS获取CLASS对象(很简单实用)
Oct 15 Javascript
解决前端跨域问题方案汇总
Nov 20 Javascript
jquery 正整数数字校验正则表达式
Jan 10 Javascript
详解react如何在组件中获取路由参数
Jun 15 Javascript
详解JS取出两个数组中的不同或相同元素
Mar 20 Javascript
微信小程序常见页面跳转操作简单示例
May 01 Javascript
微信小程序实现圆形进度条动画
Nov 18 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空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
2013/06/20 PHP
php数组去重实例及分析
2013/11/26 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
2015/07/09 PHP
PHP删除数组中指定下标的元素方法
2018/02/03 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
js replace正则表达式应用案例讲解
2013/01/17 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
2015/09/09 Javascript
BootStrap轻松实现微信页面开发代码分享
2016/10/21 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
pytorch 求网络模型参数实例
2019/12/30 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
Django中F函数的使用示例代码详解
2020/07/06 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
英国现代家具和照明购物网站:Heal’s
2019/10/30 全球购物
有模特经验的简历自我评价
2013/09/19 职场文书
旅游管理毕业生自荐信
2013/11/05 职场文书
中专毕业生自荐信
2013/11/16 职场文书
消防器材管理制度
2014/01/28 职场文书
4s店活动策划方案
2014/08/25 职场文书
家长评语怎么写
2014/12/30 职场文书
总经理年会致辞
2015/07/29 职场文书
预备党员表决心的话
2015/09/22 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers