国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

jquery+php實(shí)現(xiàn)導(dǎo)出datatables插件數(shù)據(jù)到excel的方法

2024-05-04 23:37:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章主要介紹了jquery+php實(shí)現(xiàn)導(dǎo)出datatables插件數(shù)據(jù)到excel的方法,實(shí)例分析了jquery插件datatables的使用方法與php導(dǎo)出datatables數(shù)據(jù)到Excel的技巧,需要的朋友可以參考下

本文實(shí)例講述了jquery+php實(shí)現(xiàn)導(dǎo)出datatables插件數(shù)據(jù)到excel的方法。分享給大家供大家參考。具體如下:

DataTables是一個(gè)jQuery的表格插件。這是一個(gè)高度靈活的工具,依據(jù)的基礎(chǔ)逐步增強(qiáng),這將增加先進(jìn)的互動(dòng)控制,支持任何HTML表格。主要特點(diǎn):

1. 自動(dòng)分頁(yè)處理

2. 即時(shí)表格數(shù)據(jù)過(guò)濾

3. 數(shù)據(jù)排序以及數(shù)據(jù)類型自動(dòng)檢測(cè)

4. 自動(dòng)處理列寬度

5. 可通過(guò)CSS定制樣式

6. 支持隱藏列

7. 易用

8. 可擴(kuò)展性和靈活性

9. 國(guó)際化

10.動(dòng)態(tài)創(chuàng)建表格

11.免費(fèi)

插件地址http://www.datatables.net/

不過(guò)可惜的是官方網(wǎng)站表格數(shù)據(jù)導(dǎo)出方法使用的是tabletools插件,利用flash導(dǎo)出數(shù)據(jù),而且不支持中文數(shù)據(jù),通過(guò)查找官方的API和資料,找到使用jquery和php導(dǎo)出數(shù)據(jù)方法。

導(dǎo)出數(shù)據(jù)的javascript函數(shù)

 

 
  1. function table2csv(oTable, exportmode, tableElm) {  
  2. var csv = '';  
  3. var headers = [];  
  4. var rows = [];  
  5. // Get header names  
  6. $(tableElm+' thead').find('th').each(function() {  
  7. var $th = $(this);  
  8. var text = $th.text();  
  9. var header = '"' + text + '"';  
  10. // headers.push(header); // original code  
  11. if(text != "") headers.push(header); // actually datatables seems to copy my original headers so there ist an amount of TH cells which are empty  
  12. });  
  13. csv += headers.join(',') + "/n";  
  14. // get table data  
  15. if (exportmode == "full") { // total data  
  16. var total = oTable.fnSettings().fnRecordsTotal()  
  17. for(i = 0; i < total; i++) {  
  18. var row = oTable.fnGetData(i);  
  19. row = strip_tags(row);  
  20. rows.push(row);  
  21. }  
  22. else { // visible rows only  
  23. $(tableElm+' tbody tr:visible').each(function(index) {  
  24. var row = oTable.fnGetData(this);  
  25. row = strip_tags(row);  
  26. rows.push(row);  
  27. })  
  28. }  
  29. csv += rows.join("/n");  
  30. // if a csv div is already open, delete it  
  31. if($('.csv-data').length) $('.csv-data').remove();  
  32. // open a div with a download link  
  33. $('body').append('<div class="csv-data"><form enctype="multipart/form-data" method="post" action="/csv.php"><textarea class="form" name="csv">'+csv+'</textarea><input type="submit" class="submit" value="Download as file" /></form></div>');  
  34. }  
  35. function strip_tags(html) {  
  36. var tmp = document.createElement("div");  
  37. tmp.innerHTML = html;  
  38. return tmp.textContent||tmp.innerText;  
  39. }  

函數(shù)支持導(dǎo)出所有數(shù)據(jù)和當(dāng)前頁(yè)數(shù)據(jù)

 

 
  1. // export only what is visible right now (filters & paginationapplied) 
  2. $('#export_visible').click(function(event) {  
  3. var oTable;  
  4. oTable= $('#spdata').dataTable();  
  5. event.preventDefault();  
  6. table2csv(oTable, 'visible''#spdata'); }) 
  7. // export all table data  
  8. $('#export_all').click(function(event) {  
  9. var oTable;  
  10. oTable= $('#spdata').dataTable();  
  11. event.preventDefault();  
  12. table2csv(oTable, 'full''#spdata'); })  

其中#spdata是table的id

后臺(tái)php導(dǎo)出excel代碼

 

 
  1. header("Content-Type: application/vnd.ms-execl");  
  2. header("Content-Disposition: attachment; filename=myExcel.csv");  
  3. header("Pragma: no-cache");  
  4. header("Expires: 0");  
  5. $buffer = $_POST['csv'];  
  6. $buffer=str_replace(",",",/t",$buffer);  
  7. $buffer=mb_convert_encoding($buffer,"GB2312","UTF-8");  
  8. echo $buffer; 

希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 蓬安县| 安化县| 莎车县| 连城县| 通海县| 合肥市| 邢台县| 高邮市| 沙雅县| 临桂县| 贵阳市| 鄄城县| 青州市| 成都市| 游戏| 崇义县| 沙河市| 来安县| 桐庐县| 龙游县| 棋牌| 平果县| 灌云县| 巩留县| 河南省| 灵山县| 台南市| 佛冈县| 丰原市| 奇台县| 图木舒克市| 乌拉特中旗| 河北区| 都兰县| 广饶县| 婺源县| 巴楚县| 临沂市| 深州市| 内乡县| 宁城县|