源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

jquery实现excel导出的方法

  • 时间:2022-04-30 16:10 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:jquery实现excel导出的方法
由于javascript本身是没有权限操作本地文件的,除非使用ActiveX,但这东西麻烦又不安全,完全不想用.所以从页面的表格中获得数据保存成本地文件的办法是行不通了. 我们想要导出的是表格中的数据,表格中的数据又是从服务器来的,那我们把服务器上的数据下到本地保存成文件不就可以了. 服务端实现代码:
[u]复制代码[/u] 代码如下:
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文件中,使用时直接在页面调用即可
[u]复制代码[/u] 代码如下:
//带入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")就可以了.
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部