
Kali ini akan dibahas bagaimana caranya export data dari Grid ke Excel dan PDF. DHTMLX menyediakan library yang dipersiapkan sedemikian rupa sehingga hanya membutuhkan sebaris kode. Untuk proses export ini, hal penting yang perlu diingat adalah:
- Jumlah data yang akan di-export, semakin banyak maka waktu yang dibutuhkan semakin lama
- Module XDebug yang diaktifkan(enabled) pada PHP akan membuat proses export jauh lebih lama dari biasanya , anda bisa melihat dengan phpinfo()
Library yang dibutuhkan :
1.Grid-pdf-php, dengan komponen penyusun yang utamanya TCPDF (http://dhtmlx.com/x/download/regular/grid-pdf-php.zip)
2.Grid-excel-php, dengan komponen penyusun yang utamanya PHP Excel (http://dhtmlx.com/x/download/regular/grid-excel-php.zip)
Setelah library diatas didownload, extract ke dalam directory/folder codebase, misalnya pada xampp (htdocs/codebase)
Komponen dan database yang digunakan sama dengan yang ada pada TUTORIAL CRUD SEDERHANA
index.html
<!DOCTYPE html> <html> <head> <title>DHTMLX Web Apps</title> <style> html,body { width: 100%; height: 100%; margin: 0px; overflow: hidden; } </style> <link rel="stylesheet" href="/../../codebase/dhtmlx.css"> <script src="/../../codebase/dhtmlx.js"></script> </head> <body> <div id="myID" style="width: 600px; height: 300px"></div> <script> var myGrid = new dhtmlXGridObject("myID"); myGrid.setHeader("Nama,Alamat"); myGrid.setColTypes("ro,ro"); myGrid.attachHeader("#text_filter,#text_filter"); myGrid.attachFooter("-,Footer1"); myGrid.attachFooter("-,Footer2"); myGrid.init(); myGrid.load("grid.php"); //muat database ke grid function toXLS() { myGrid.toExcel("../../codebase/grid-excel-php/generate.php"); } function toPDF() { myGrid.toPDF("../../codebase/grid-pdf-php/generate.php"); } </script> <p></p> <p><a href="javascript:void(0)" onclick="toXLS()">to Excel</a></p> <p></p> <p><a href="javascript:void(0)" onclick="toPDF()">to PDF</a></p> </body> </html>
grid.php
<?php include ("codebase/connector/grid_connector.php"); include ("codebase/connector/db_pdo.php"); $dbtype = "mysql"; // mysql or pgsql $dbhost = "127.0.0.1"; // database server $dbname = "test"; // database name $dbuser = "root"; // database user $dbpassword = ""; // database password $dbcharset = "utf8"; // database charset $dsn = "mysql:host=$dbhost;dbname=$dbname;charset=$dbcharset"; try { $dbconn = new PDO($dsn, $dbuser, $dbpassword); } catch (PDOException $ex) { print_r($ex->getMessage()); } ConnectorSecurity::$security_key = true; //Inisialisasi Grid Connector $data = new GridConnector($dbconn, "PDO"); $sql = "SELECT id,nama,alamat FROM alamat"; //render_sql untuk query SELECT $data->render_sql($sql, "id", "nama,alamat"); ?>
DEMO
SOURCE CODE
Untuk PHP terbaru > 7.3 apabila ada error saat export PDF silahkan update tcpdf ke versi yang lebih baru, replace isi folder tcpdf dalam folder grid-pdf-php TCPDF 6.3