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如何获取当前url中的参数值并复制给input
Jun 23 Javascript
JavaScript中string转换成number介绍
Dec 31 Javascript
jQuery实现径向动画菜单效果
Jul 17 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
Oct 16 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
Feb 16 Javascript
教你如何终止JQUERY的$.AJAX请求
Feb 23 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
Nov 04 Javascript
微信小程序 MD5的方法详解及实例代码
Mar 10 Javascript
webpack多页面开发实践
Dec 18 Javascript
如何解决.vue文件url引用文件的问题
Jan 18 Javascript
微信小程序 button样式设置为图片的方法
Jun 19 Javascript
浅析 Vue 3.0 的组装式 API(一)
Aug 31 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/13 PHP
php 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
使用PHP编写发红包程序
2015/07/22 PHP
PHP实现简易blog的制作
2016/10/24 PHP
Laravel框架控制器的request与response用法示例
2019/09/30 PHP
让你的博文自动带上缩址的实现代码,方便发到微博客上
2010/12/28 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
2015/09/19 Javascript
JS中静态页面实现微信分享功能
2017/02/06 Javascript
nodejs之get/post请求的几种方式小结
2017/07/26 NodeJs
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
浅谈vue中$event理解和框架中在包含默认值外传参
2020/08/07 Javascript
Python的一些用法分享
2012/10/07 Python
python爬虫入门教程之糗百图片爬虫代码分享
2014/09/02 Python
利用python获取Ping结果示例代码
2017/07/06 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
KARATOV珠宝在线商店:俄罗斯珠宝品牌
2019/03/13 全球购物
临床医学大学生求职信
2013/09/28 职场文书
宠物店的创业计划书范文
2014/01/11 职场文书
小学运动会表扬稿
2014/01/19 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
失职检讨书大全
2015/01/26 职场文书
工程部经理岗位职责
2015/02/02 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
Nginx配置根据url参数重定向
2022/04/11 Servers