手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jquery实现excel导出的方法
jquery实现excel导出的方法
摘要:由于javascript本身是没有权限操作本地文件的,除非使用ActiveX,但这东西麻烦又不安全,完全不想用.所以从页面的表格中获得数据保...

由于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"></iframe>");

$('#downloadcsv').attr('src',url);

}

url是要请求数据的servlet的地址,该地址一定是要返回csv格式的数据

先判断页面中是否有id为downloadcsv的iframe如果没有在body标签中加入iframe.然后将iframe的src属性设置为传入的url地址.

使用时知道在要导出的页面调用bsuExportCsv("http://localhost:8080/csvservelt")就可以了.

【jquery实现excel导出的方法】相关文章:

JS实现屏蔽shift,Ctrl,alt等功能键的方法

js+HTML5实现canvas多种颜色渐变效果的方法

jQuery处理图片加载失败的常用方法

js+html5操作sqlite数据库的方法

Javascript实现每日自动换一张图片的方法

浅谈jQuery中replace()方法

jQuery实现自动滚动到页面顶端的方法

jQuery实现html表格动态添加新行的方法

javascript实现删除前弹出确认框

javascript常用的方法分享

精品推荐
分类导航