jquery+php导出datatables插件到excel

  本文实例讲述了jquery+php实现导出datatables插件数据到excel的方法。分享给大家供大家参考。具体如下:

jquery+php导出datatables插件到excel

  DataTables是一个jQuery的表格插件。这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,支持任何HTML表格。主要特点:


  1.自动分页处理


  2.即时表格数据过滤


  3.数据排序以及数据类型自动检测


  4.自动处理列宽度


  5.可通过CSS定制样式


  6.支持隐藏列


  7.易用


  8.可扩展性和灵活性


  9.国际化


  10.动态创建表格


  不过可惜的是官方网站表格数据导出方法使用的是tabletools插件,利用flash导出数据,而且不支持中文数据,通过查找官方的API和资料,找到使用jquery和php导出数据方法。


  导出数据的javascript函数


  functiontable2csv(oTable,exportmode,tableElm){


  varcsv='';


  varheaders=[];


  varrows=[];


  //Getheadernames


  $(tableElm+'thead').find('th').each(function(){


  var$th=$(this);


  vartext=$th.text();


  varheader='"'+text+'"';


  //headers.push(header);//originalcode


  if(text!="")headers.push(header);


  //actuallydatatablesseemstocopymyoriginalheaderssothereistanamountofTHcellswhichareempty


  });


  csv+=headers.join(',')+" ";


  //gettabledata


  if(exportmode=="full"){//totaldata


  vartotal=oTable.fnSettings().fnRecordsTotal()


  for(i=0;i


  varrow=oTable.fnGetData(i);


  row=strip_tags(row);


  rows.push(row);


  }


  }else{//visiblerowsonly


  $(tableElm+'tbodytr:visible').each(function(index){


  varrow=oTable.fnGetData(this);


  row=strip_tags(row);


  rows.push(row);


  })


  }


  csv+=rows.join(" ");


  //ifacsvpisalreadyopen,deleteit


  if($('.csv-data').length)$('.csv-data').remove();


  //openapwithadownloadlink


  $('body').append('

');


  }


  functionstrip_tags(html){


  vartmp=document.createElement("p");


  tmp.innerHTML=html;


  returntmp.textContent||tmp.innerText;


  }


  函数支持导出所有数据和当前页数据


  //exportonlywhatisvisiblerightnow(filters&paginationapplied)


  $('#export_visible').click(function(event){


  varoTable;


  oTable=$('#spdata').dataTable();


  event.preventDefault();


  table2csv(oTable,'visible','#spdata');})


  //exportalltabledata


  $('#export_all').click(function(event){


  varoTable;


  oTable=$('#spdata').dataTable();


  event.preventDefault();


  table2csv(oTable,'full','#spdata');})


  其中#spdata是table的id


  后台php导出excel代码


  header("Content-Type:application/vnd.ms-execl");


  header("Content-Disposition:attachment;filename=myExcel.csv");


  header("Pragma:no-cache");


  header("Expires:0");


  $buffer=$_POST['csv'];


  $buffer=str_replace(",",", ",$buffer);


  $buffer=mb_convert_encoding($buffer,"GB2312","UTF-8");


  echo$buffer;


  希望本文所述对大家的php程序设计有所帮助。最后想要了解更多关于PHP开发发展前景趋势,请关注扣丁学堂官网、微信等平台,扣丁学堂PHP培训IT职业在线学习教育平台为您提供权威的PHP视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的一套PHP视频教程课程,让你快速掌握PHP从入门到精通开发实战技能。扣丁学堂PHP技术交流群:374332265。

展开阅读全文

页面更新:2024-04-14

标签:在线   插件   扩展性   灵活性   发展前景   讲师   宽度   中文   视频教程   函数   表格   本文   方法   数据   平台   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top