jquery如何导出excel 方法与代码

发布时间:2020-09-05编辑:脚本学堂
有时需要在网页上导出excel文件,有了jquery这个好东东,一切都变得那么简单了。来看本文提供的方法与实现代码中。

jquery实现导出excel,只需要把服务端的内容保存到本地即可,参考下文详细介绍。

1、服务端代码:

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格式的字符串数据。

2、客户端代码
使用iframe进行下载。
大家可以把这个函数放到某个js文件中,使用时直接在页面调用即可。

//带入url根据查询的数据返回csv
function bsuExportCsv(url){
//如果页面中没有用于下载iframe,增加iframe到页面中
//by www.jb200.com
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")即可,成功便在眼前了,呵呵。