jquery实现excel导出的方法 - Web前端
作者:98wpeu发布时间:2026-06-02分类:网页前端技术浏览:14
由于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")就可以了.
相关推荐
- jquery弹出框的用法示例(一) - Web前端
- jQuery快速上手:写jQuery与直接写JS的区别详细解析 - Web前端
- jquery对象和DOM对象的区别介绍 - Web前端
- Jquery右下角抖动、浮动 实例代码(兼容ie6、FF) - Web前端
- Jquery绑定事件(bind和live的区别介绍) - Web前端
- Jquery时间验证和转换工具小例子 - Web前端
- 放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解 - Web前端
- jquery简单的拖动效果实现原理及示例 - Web前端
- 使用PHP+JQuery+Ajax分页的实现 - Web前端
- 防止jQuery ajax Load使用缓存的方法小结 - Web前端
- 网页前端技术排行
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


