Thursday, June 5, 2014

Ekspor Data MySQL ke Excel dengan PHP


 
cara untuk ekspor data (dapat juga membuat report) ke dalam format Excel, berikut ini langkah-langkahnya.
1. Buka text editor kesukaan Anda, kalo saya menggunakan Notepad++ karena bagus, tampilan warna-warni, lengkap, stabil, dan cepat aksesnya.
2. Buatlah file koneksi secara terpisah untuk menyambungkan ke database. Kemudian juga pilih pada TABEL mana yang akan diekspor. Pada contoh berikut ini saya menggunakan tabel “perumahan”.
Berikut ini adalah file koneksinya (koneksi.php):

<?php
mysql_connect("localhost","root","");
mysql_select_db("drasticdata");
?>

Sedangkan ini syntax SQL untuk tabel perumahan:

CREATE TABLE IF NOT EXISTS `perumahan` (
`id_perumahan` INT(5) NOT NULL AUTO_INCREMENT,
`nama_perum` VARCHAR(100) NOT NULL,
`alamat` tinytext NOT NULL,
`id` INT(5) NOT NULL,
`daerah` VARCHAR(10) NOT NULL DEFAULT '''Bogor''',
`jumlah_dibangun` INT(10) NOT NULL,
`sudah_dibangun` INT(10) NOT NULL,
`lat` DOUBLE NOT NULL,
`lng` DOUBLE NOT NULL,
PRIMARY KEY (`id_perumahan`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
 
--
-- Dumping data for table `perumahan`
--
 
INSERT INTO `perumahan` (`id_perumahan`, `nama_perum`, `alamat`,  
                         `id`, `daerah`, `jumlah_dibangun`,  
                         `sudah_dibangun`, `lat`, `lng`) VALUES
(2, 'Taman Firdaus', 'jalan soleh', 1, 'Bogor',  
    100, 1, -6.58830236192579, 106.806936571533),
(3, 'taman cimanggu', 'jalan cimanggu', 2, 'Bogor', 
    100, 12, -6.58685287383649, 106.784363100464),
(4, 'lida', 'jalan apa aja', 1, 'yeeeee bsa',  
    100, 10, -6.576280009159, 106.801700899536),
(5, 'PERUMAHAN', 'JALA', 1, 'Bogor', 90, 9, -6.5879, 106.812);

3. Setelah langkah 2 selesai, tuliskan kode dibawah ini:

<?php
include("koneksi.php");
$select = "select * from perumahan ";
$export = mysql_query($select);
$fields = mysql_num_fields($export);
for ($i = 0; $i < $fields; $i++) {
$header .= mysql_field_name($export, $i) . "\t";
}
while($row = mysql_fetch_row($export)) {
$line = '';
foreach($row as $value) {
if ((!isset($value)) OR ($value == "")) {
$value = "\t";
} else {
$value = str_replace('"', '""', $value);
$value = '"' . $value . '"' . "\t";
}
$line .= $value;
}
$data .= trim($line)."\n";
}
$data = str_replace("\r","",$data);
if ($data == "") {
$data = "n(0) record found!\n";
}
$tanggal=date("Ymd");
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; 
        filename=DATA_PERUMAHAN_".$tanggal.".xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";
?>
 
4. Simpan menjadi nama file terserah Anda, misal “perumahan_report.php”. Kemudian jalankan melalui browser Anda.
Gimana rekan-rekan pembaca? cukup mudah bukan. Meskipun sedikit Amburadul seperti ini setidaknya ini sudah usaha.karena saya masih baru belajar juga..
terimakasih ...