> 백엔드 개발 > PHP 튜토리얼 > jquery php는 데이터 테이블 플러그인 데이터를 excel_php 기술로 내보내는 방법을 구현합니다.

jquery php는 데이터 테이블 플러그인 데이터를 excel_php 기술로 내보내는 방법을 구현합니다.

WBOY
풀어 주다: 2016-05-16 20:11:41
원래의
1117명이 탐색했습니다.

이 기사의 예에서는 jquery php를 사용하여 데이터 테이블 플러그인 데이터를 Excel로 내보내는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.

DataTables는 jQuery 테이블 플러그인입니다. 이는 고급 대화형 컨트롤을 추가하고 모든 HTML 양식을 지원하는 점진적인 향상을 기반으로 하는 매우 유연한 도구입니다. 주요 기능:

1. 자동 페이징
2. 인스턴트 테이블 데이터 필터링
3. 데이터 정렬 및 데이터 유형 자동 감지
4. 열 너비 자동 처리
5. CSS를 통해 스타일을 맞춤설정할 수 있습니다
6. 숨겨진 열 지원
7. 사용하기 쉽습니다
8. 확장성과 유연성
9. 국제화
10. 동적으로 테이블 생성
11. 무료

플러그인 주소 http://www.datatables.net/

그런데, 공식 홈페이지 테이블 데이터 내보내기 방식은 플래시를 사용해 데이터를 내보내는 tabletools 플러그인을 사용하고, 중국어 데이터를 지원하지 않는 점이 아쉽네요. 공식 API와 정보를 검색해본 결과 방법을 찾았습니다. jquery와 php를 사용하여 데이터를 내보내는 중입니다.

데이터 내보내기를 위한 자바스크립트 기능

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('<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>'); 
} 
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는 테이블의 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 프로그래밍 설계에 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿