首頁 web前端 js教程 jquery匯出資料到excel程式碼實例詳解

jquery匯出資料到excel程式碼實例詳解

Jul 22, 2017 am 09:25 AM
excel jquery 程式碼

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

不過可惜的是官方網站表格資料匯出方法使用的是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 p is already open, delete it 
    if($('.csv-data').length) $('.csv-data').remove(); 
    // open a p with a download link 
    $('body').append('<p 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></p>'); 
} 
function strip_tags(html) { 
  var tmp = document.createElement("p"); 
  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;
登入後複製

以上是jquery匯出資料到excel程式碼實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

excel同時篩選3個以上關鍵字怎麼操作 excel同時篩選3個以上關鍵字怎麼操作 Mar 21, 2024 pm 03:16 PM

excel同時篩選3個以上關鍵字怎麼操作

excel列印表格框線消失怎麼辦 excel列印表格框線消失怎麼辦 Mar 21, 2024 am 09:50 AM

excel列印表格框線消失怎麼辦

excel表格相容模式改正常模式的方法 excel表格相容模式改正常模式的方法 Mar 20, 2024 pm 08:01 PM

excel表格相容模式改正常模式的方法

excel閱讀模式在哪裡設置 excel閱讀模式在哪裡設置 Mar 21, 2024 am 08:40 AM

excel閱讀模式在哪裡設置

excel上標應該如何設定 excel上標應該如何設定 Mar 20, 2024 pm 04:30 PM

excel上標應該如何設定

excel中iif函數的用法 excel中iif函數的用法 Mar 20, 2024 pm 06:10 PM

excel中iif函數的用法

html怎麼讀取excel數據 html怎麼讀取excel數據 Mar 27, 2024 pm 05:11 PM

html怎麼讀取excel數據

PPT幻燈片插入excel圖示的操作方法 PPT幻燈片插入excel圖示的操作方法 Mar 26, 2024 pm 05:40 PM

PPT幻燈片插入excel圖示的操作方法

See all articles