DataTables는 jQuery 테이블 플러그인입니다. 이는 모든 HTML 양식에 대한 고급 대화형 컨트롤과 지원을 추가하는 점진적인 향상을 기반으로 하는 매우 유연한 도구입니다. 주요 기능:
단, 공식 홈페이지 테이블 데이터 내보내기 방식은 플래시를 사용해 데이터를 내보내는 tabletools 플러그인을 사용하고, 중국어 데이터를 지원하지 않는다는 점이 아쉽습니다. 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는 테이블의 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;
위 내용은 Excel 코드 예제로 jquery 내보내기 데이터에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!