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 相关文章推荐
js 页面关闭前的出现提示的实现代码
May 25 Javascript
自己动手开发jQuery插件教程
Aug 25 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
Mar 01 Javascript
javascript正则表达式之search()用法实例
Jan 19 Javascript
清除输入框内的空格
Dec 21 Javascript
Vue.js 2.0中select级联下拉框实例
Mar 06 Javascript
JS随机数产生代码分享
Feb 24 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
Sep 21 Javascript
关于Vue中axios的封装实例详解
Oct 20 Javascript
js实现打字小游戏
Dec 17 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
Feb 14 Javascript
html5 录制mp3音频支持采样率和比特率设置
Jul 15 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
smarty模板局部缓存方法使用示例
2014/06/17 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
PHP Smarty模版简单使用方法
2016/03/30 PHP
PHP7常量数组用法分析
2016/09/26 PHP
jquery中通过父级查找进行定位示例
2013/06/28 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
在Python的Django框架中显示对象子集的方法
2015/07/21 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
浅析Python pandas模块输出每行中间省略号问题
2018/07/03 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
python实现爬山算法的思路详解
2019/04/09 Python
python如何实现视频转代码视频
2019/06/17 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
鞋类设计与工艺专业销售求职信
2013/11/01 职场文书
医药代表个人的求职信分享
2013/12/08 职场文书
大学生求职自我评价
2014/01/16 职场文书
运动会入场式解说词
2014/02/18 职场文书
乡镇消防工作实施方案
2014/03/27 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
考试作弊检讨书怎么写?
2014/12/21 职场文书
学生检讨书范文
2015/01/27 职场文书