jquery+php實現匯出datatables外掛程式資料到excel的方法,jquerydatatables_PHP教程

來源:互聯網
上載者:User

jquery+php實現匯出datatables外掛程式資料到excel的方法,jquerydatatables


本文執行個體講述了jquery+php實現匯出datatables外掛程式資料到excel的方法。分享給大家供大家參考。具體如下:

DataTables是一個jQuery的表格外掛程式。這是一個高度靈活的工具,依據的基礎逐步增強,這將增加先進的互動控制,支援任何HTML表格。主要特點:

1. 自動分頁處理
2. 即時表格式資料過濾
3. 資料排序以及資料類型自動檢測
4. 自動處理列寬度
5. 可通過CSS定製樣式
6. 支援隱藏列
7. 易用
8. 可擴充性和靈活性
9. 國際化
10.動態建立表格
11.免費

外掛程式地址http://www.datatables.net/

不過可惜的是官方網站表格式資料匯出方法使用的是tabletools外掛程式,利用flash匯出資料,而且不支援中文資料,通過尋找官方的API和資料,找到使用jquery和php匯出資料方法。

匯出資料的javascript函數

function table2csv(oTable, exportmode, tableElm) {     var csv = '';     var headers = [];     var rows = [];     // Get header names     $(tableElm+' thead').find('th').each(function() {       var $th = $(this);       var text = $th.text();       var header = '"' + text + '"';       // headers.push(header); // original code       if(text != "") headers.push(header); // actually datatables seems to copy my original headers so there ist an amount of TH cells which are empty     });     csv += headers.join(',') + "\n";     // get table data     if (exportmode == "full") { // total data       var total = oTable.fnSettings().fnRecordsTotal()       for(i = 0; i < total; i++) {         var row = oTable.fnGetData(i);         row = strip_tags(row);         rows.push(row);       }     } else { // visible rows only       $(tableElm+' tbody tr:visible').each(function(index) {         var row = oTable.fnGetData(this);         row = strip_tags(row);         rows.push(row);       })     }     csv += rows.join("\n");     // if a csv div is already open, delete it     if($('.csv-data').length) $('.csv-data').remove();     // open a div with a download link     $('body').append(''); } function strip_tags(html) {   var tmp = document.createElement("div");   tmp.innerHTML = html;   return tmp.textContent||tmp.innerText; } 

函數支援匯出所有資料和當前頁資料

// export only what is visible right now (filters & paginationapplied)$('#export_visible').click(function(event) {     var oTable;    oTable= $('#spdata').dataTable();    event.preventDefault();    table2csv(oTable, 'visible', '#spdata'); })   // export all table data $('#export_all').click(function(event) {    var oTable;   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(",",",\t",$buffer); $buffer=mb_convert_encoding($buffer,"GB2312","UTF-8");  echo $buffer;

希望本文所述對大家的php程式設計有所協助。

http://www.bkjia.com/PHPjc/1027494.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1027494.htmlTechArticlejquery+php實現匯出datatables外掛程式資料到excel的方法,jquerydatatables 本文執行個體講述了jquery+php實現匯出datatables外掛程式資料到excel的方法。分享給大家供...

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.