File Comma Separated Values atau CSV adalah salah satu format standar file ASCII. Dalam file CSV setiap field maupun record dipisahkan dengan tanda koma (,), titik koma (;), baris baru (\n) . Biasanya file CSV diminta oleh berbagai kalangan untuk dijadikan input bagi sistem yang lain. Berikut ini kita akan coba membahas bagaimana cara menampilkan file CSV dengan PHP. Contoh format penulisan file CSVFile CSV memiliki tingkat kompabilitas yang cukup tinggi. Hampir sebagian besar software pengolah data bisa memanfaatkanya seperti: WPS Office,Microsoft Office, Notepad, Notepad++, MySql, Oracle, OpenOffice. Dan yang sangat penting memiliki ukuran relatif ringan dan sangat sederhana. Nah, bagaimana cara menampilkan file CSV dengan PHP ?Cara menampilkan file CSV dengan PHP sangat mudah. Kita cuma perlu menggunakan beberapa fungsi saja seperti: Ketemu lagi dengan saya. Seperti judul yang tertera pada catatan saya ini, kita kali ini akan coba membuat export data dari database ke file CSV. Sebelumnya juga saya telah membuat catatan mengenai Cara Membuat Export Data Dari Database ke Excel dengan PHPExcel. Kali ini, kita akan coba export menjadi file CSV. Pada catatan ini kita masih menggunakan librari/plugin yang sama, yaitu PHPExcel. Satu hal yang harus jadi catatan, karena kita akan export menjadi file csv. Kita jadi tidak bisa leluasa buat memformat kolom-kolom pada file csv nya seperti halnya kita export ke excel. tapi yang penting data-datanya semua berhasil di export. Langsung saja ikuti step by step nya berikut ini. PENTING, MOHON DIBACA TERLEBIH DAHULU DEMO STEP 1 – PERSIAPAN
STEP 2 – DATABASE
Baca Juga:
STEP 3 – KONEKSI DATABASE <?php $host = 'localhost'; // Nama hostnya $username = 'root'; // Username $password = ''; // Password (Isi jika menggunakan password) $database = 'mynotescode'; // Nama databasenya // Koneksi ke MySQL dengan PDO $pdo = new PDO('mysql:host='.$host.';dbname='.$database, $username, $password); ?> STEP 4 – VIEW DATA <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Export Data ke CSV dengan PHPExcel</title> </head> <body> <!-- HEADER -- SKRIP HANYA UNTUK HEADER -- HAPUS SAJA JIKA TIDAK DIPERLUKAN --> <div style="background: whitesmoke;padding: 10px;"> <h1 style="margin-top: 0;">Export Data ke CSV dengan PHPExcel</h1> <p> FOLLOW US ON <a target="_blank" style="background: #3b5998; padding: 0 5px; border-radius: 4px; color: #f7f7f7; text-decoration: none;" href="https://www.facebook.com/mynotescode">Facebook</a> <a target="_blank" style="background: #00aced; padding: 0 5px; border-radius: 4px; color: #ffffff; text-decoration: none;" href="https://twitter.com/mynotescode">Twitter</a> <a target="_blank" style="background: #d34836; padding: 0 5px; border-radius: 4px; color: #ffffff; text-decoration: none;" href="https://plus.google.com/118319575543333993544">Google+</a> <a target="_blank" style="background: black; padding: 0 5px; border-radius: 4px; color: #ffffff; text-decoration: none;" href="https://www.youtube.com/channel/UCO394itv-u7Tn4CgI3bMYIg">YouTube</a> </p> </div> <!-- END HEADER --> <h3>Data Siswa</h3> <a href="proses.php">Export ke CSV</a><br><br> <table border="1" cellpadding="5"> <tr> <th>No</th> <th>NIS</th> <th>Nama</th> <th>Jenis Kelamin</th> <th>Telepon</th> <th>Alamat</th> </tr> <?php // Load file koneksi.php include "koneksi.php"; // Buat query untuk menampilkan semua data siswa $sql = $pdo->prepare("SELECT * FROM siswa"); $sql->execute(); // Eksekusi querynya $no = 1; // Untuk penomoran tabel, di awal set dengan 1 while($data = $sql->fetch()){ // Ambil semua data dari hasil eksekusi $sql echo "<tr>"; echo "<td>".$no."</td>"; echo "<td>".$data['nis']."</td>"; echo "<td>".$data['nama']."</td>"; echo "<td>".$data['jenis_kelamin']."</td>"; echo "<td>".$data['telp']."</td>"; echo "<td>".$data['alamat']."</td>"; echo "</tr>"; $no++; // Tambah 1 setiap kali looping } ?> </table> </body> </html> Saya akan coba jelaskan sedikit mengenai kode diatas. include “koneksi.php”; $sql = $pdo->prepare(“SELECT * FROM siswa”); $data = $sql->fetch() echo "<tr>"; echo "<td>".$no."</td>"; echo "<td>".$data['nis']."</td>"; echo "<td>".$data['nama']."</td>"; echo "<td>".$data['jenis_kelamin']."</td>"; echo "<td>".$data['telp']."</td>"; echo "<td>".$data['alamat']."</td>"; echo "</tr>"; Pada kode diatas terdapat variabel $data digunakan untuk mengambil isi dari field-field yang ada pada tabel siswa di database mynotescode. Pada kode diatas juga ada kode yang berada pada tanda [‘……’], kode tersebut harus sama dengan nama field yang ada pada tabel siswa. Baca Juga:
STEP 5 – EXPORT CSV <?php // Load file koneksi.php include "koneksi.php"; // Load plugin PHPExcel nya require_once 'PHPExcel/PHPExcel.php'; // Panggil class PHPExcel nya $csv = new PHPExcel(); // Settingan awal fil excel $csv->getProperties()->setCreator('My Notes Code') ->setLastModifiedBy('My Notes Code') ->setTitle("Data Siswa") ->setSubject("Siswa") ->setDescription("Laporan Semua Data Siswa") ->setKeywords("Data Siswa"); // Buat header tabel nya pada baris ke 1 $csv->setActiveSheetIndex(0)->setCellValue('A1', "NO"); // Set kolom A1 dengan tulisan "NO" $csv->setActiveSheetIndex(0)->setCellValue('B1', "NIS"); // Set kolom B1 dengan tulisan "NIS" $csv->setActiveSheetIndex(0)->setCellValue('C1', "NAMA"); // Set kolom C1 dengan tulisan "NAMA" $csv->setActiveSheetIndex(0)->setCellValue('D1', "JENIS KELAMIN"); // Set kolom D1 dengan tulisan "JENIS KELAMIN" $csv->setActiveSheetIndex(0)->setCellValue('E1', "TELEPON"); // Set kolom E1 dengan tulisan "TELEPON" $csv->setActiveSheetIndex(0)->setCellValue('F1', "ALAMAT"); // Set kolom F1 dengan tulisan "ALAMAT" // Buat query untuk menampilkan semua data siswa $sql = $pdo->prepare("SELECT * FROM siswa"); $sql->execute(); // Eksekusi querynya $no = 1; // Untuk penomoran tabel, di awal set dengan 1 $numrow = 2; // Set baris pertama untuk isi tabel adalah baris ke 2 while($data = $sql->fetch()){ // Ambil semua data dari hasil eksekusi $sql $csv->setActiveSheetIndex(0)->setCellValue('A'.$numrow, $no); $csv->setActiveSheetIndex(0)->setCellValue('B'.$numrow, $data['nis']); $csv->setActiveSheetIndex(0)->setCellValue('C'.$numrow, $data['nama']); $csv->setActiveSheetIndex(0)->setCellValue('D'.$numrow, $data['jenis_kelamin']); // Khusus untuk no telepon. kita set type kolom nya jadi STRING $csv->setActiveSheetIndex(0)->setCellValueExplicit('E'.$numrow, $data['telp'], PHPExcel_Cell_DataType::TYPE_STRING); $csv->setActiveSheetIndex(0)->setCellValue('F'.$numrow, $data['alamat']); $no++; // Tambah 1 setiap kali looping $numrow++; // Tambah 1 setiap kali looping } // Set orientasi kertas jadi LANDSCAPE $csv->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE); // Set judul file excel nya $csv->getActiveSheet(0)->setTitle("Laporan Data Transaksi"); $csv->setActiveSheetIndex(0); // Proses file excel header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment; filename="Data Siswa.csv"'); // Set nama file excel nya header('Cache-Control: max-age=0'); $write = new PHPExcel_Writer_CSV($csv); $write->save('php://output'); ?> Saya akan menjelaskan sedikit mengenai kode diatas karena sebagian besar sudah saya jelaskan di setiap baris skrip diatas dengan komentar. $csv->setActiveSheetIndex(0)->setCellValue(‘A1’, “NO”); Yang saya beri tanda panah itulah yang dimaksud dengan kolom A1. Saya harap Anda paham maksud saya. Mungkin itu tambahan penjelasan dari skrip proses export ke CSV nya. untuk lebih lengkapnya mengenai fungsi apa saja yang disediakan oleh PHPExcel, Anda bisa membaca dokumentasinya langsung. Klik link berikut untuk download dokumentasi PHPExcel nya : Download. Sekian untuk tutorial kali ini. Jika ada hal yang ingin ditanyakan, langsung tanyakan saja lewat kolom komentar dibawah ini. Jangan lupa LIKE dan SHARE nya hehe, Terimakasih. SOURCE CODE Tutorial membuat export data ke CSV dengan plugin PHPExcel, Tutorial membuat laporan CSV dengan PHPExcel, Cara membuat laporan CSV dengan PHPExcel, Tutorial membuat export data dari database ke CSV dengan PHPExcel, Cara membuat export data dari database ke CSV dengan PHPExcel, Source code export data dari database ke CSV dengan PHPExcel |