Tempat tertimbunnya tulisan - tulisan akibat kejangaran ngoding

29 December 2018

Cara Gampang Export data kedalam file CSV menggunakan PHP

image by techjoomla

Dalam Cara export file csv menggunakan PHP ini saya akan menggunakan fungsi dari php yaitu fputcsv(). Cara ini gak ribet-ribet amat sebenernya, namun dalam pengembangan web application kita biasanya sering butuh fungsi ini untuk rekap laporan dan data lainnya yang butuh di unduh dari web application yang kita buat.

Kenapa saya buat tutorial ini, karena terinspirasi dari pengalaman ketika mengerjakan projek sistem perpajakan suatu Institut terkenal di Bandung. Data-data yang diolah di aplikasi harus di ekspor dan diimpor ke aplikasi E-SPT dari Direktorat Jendral Pajak. Banyak sebenernya tutorial seperti ini di google, tapi akan lebih mantap bukan kalo saya tulis sendiri tutorialnya versi saya? hehe

Definisi Fungsi fputcsv()

The fputcsv() function formats a line as CSV and writes it to an open file. This function returns the length of the written string, or FALSE on failure
Kalimat di atas saya kutip dari webnya w3schools, jadi kurang lebih fungsi ini dapat memformat baris menjadi CSV dan menulisnya kedalam file yang telah kita tentukan. Fungsi ini akan memiliki nilai balik (return) berupa panjang string yang ditulis kedalam CSV atau FALSE ketika terjadi kesalahan.

Cara Pakai fputcsv()


int fputcsv ( resource $handle , array $fields [, string $delimiter = "," [, string $enclosure = '"' [, string $escape_char = "\\" ]]] )

Ketika kita memanggil fungsi fputcsv maka kita harus memasukan beberapa parameter yang dibutuhkan, yaitu handle atau file yang akan kita gunakan untuk menulis CSV, kedua field atau teks yang akan kita tulis kedalam CSV. ketiga delimiter yaitu pemisah setiap kolomnya. keempat enclosure yaitu karakter yang akan digunakan untuk mengapit setiap kolom, ini opsional, secara default digunakan (").

Contoh 1 : Menulis CSV ke media penyimpanan server


$list = array (
    array('Nama Depan', 'Nama Belakang', 'Jenis Kelamin', 'Status'),
    array('Ahmad', 'Zainal', 'Laki-laki', 'Single'),
    array('Bambang', 'Setiawan', 'Laki-laki', 'Jomblo')
);

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
Kode diatas akan menghasilkan file.csv yang berisi data-data yang ada di variable $list kemudian menyimpan file.csv di direktori aktif server.

Contoh 2 : Menulis CSV ke media penyimpanan client



$filename = 'FILE.csv';
header( 'Content-Type: text/csv' );
header( 'Content-Disposition: attachment;filename='.$filename);
$list = array (
array('Nama Depan', 'Nama Belakang', 'Jenis Kelamin', 'Status'),
array('Ahmad', 'Zainal', 'Laki-laki', 'Single'),
array('Bambang', 'Setiawan', 'Laki-laki', 'Jomblo')
);
$fp = fopen('php://output', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
Kode diatas akan menulis file CSV dan kemudian menjadikannya downloadable file, jadi nanti si browser clientnya langsung download file yang ditulis. Karenanya kita kita pake hanlde nya php output kemudian menuliskan header kepada client bahwa ini adalah file bukan dokumen html untuk ditampilkan.

Mudah bukan? mudah dong.

Kode diatas hanya kode dasar saja, kalian bisa kembangkan lagi. happy kodingsanasini~

No comments:

Post a Comment