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 相关文章推荐
图片自动缩小 点击放大
Jul 07 Javascript
jsp+javascript打造级连菜单的实例代码
Jun 14 Javascript
jQuery实现带玻璃流光质感的手风琴特效
Nov 20 Javascript
Bootstrap模态对话框的简单使用
Apr 29 Javascript
微信小程序 form组件详解
Oct 25 Javascript
详解js的事件处理函数和动态创建html标记方法
Dec 16 Javascript
JS实现两周内自动登录功能
Mar 23 Javascript
javascript实现QQ空间相册展示源码
Dec 12 Javascript
vue的一个分页组件的示例代码
Dec 25 Javascript
详解vue-meta如何让你更优雅的管理头部标签
Jan 18 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
Sep 24 Javascript
解决Antd 里面的select 选择框联动触发的问题
Oct 24 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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
PHP 地址栏信息的获取代码
2009/01/07 PHP
PHP企业级应用之常见缓存技术篇
2011/01/27 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
探讨捕获php错误信息方法的详解
2013/06/09 PHP
PHP连接和操作MySQL数据库基础教程
2014/09/29 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
Smarty分页实现方法完整实例
2016/05/11 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
PHP大文件及断点续传下载实现代码
2020/08/18 PHP
js获取图片大小的函数代码
2011/09/20 Javascript
jquery动态改变onclick属性导致失效的问题解决方法
2013/12/04 Javascript
用jquery仿做发微博功能示例
2014/04/18 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
JavaScript实现图片轮播组件代码示例
2016/11/22 Javascript
纯js模仿windows系统日历
2017/02/04 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
详解Webpack实战之构建 Electron 应用
2017/12/25 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
2014/01/22 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
解决Pycharm中import时无法识别自己写的程序方法
2018/05/18 Python
Python 脚本获取ES 存储容量的实例
2018/12/27 Python
对python 通过ssh访问数据库的实例详解
2019/02/19 Python
Python秒算24点实现及原理详解
2019/07/29 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
软件测试工程师结构化面试题库
2016/11/23 面试题
大学校园毕业自我鉴定
2014/01/15 职场文书
毕业论文评语大全
2014/04/29 职场文书
乳制品整治工作方案
2014/05/29 职场文书
售票员岗位职责
2015/02/15 职场文书
如何利用Python实现n*n螺旋矩阵
2022/01/18 Python