Membuat laporan Ke format Excel dengan PHP

Hari ini hari Jum'at tanggal 08 Juni 2012 jam 14.39 wib di central kopi cafe tepatnya di takengon aceh tengah..
sambil menunggu jam kuliah masuk pada jam 16.00 wib nanti saya menuliskan tulisan ini karena menurut saya ini penting bagi saya...
hehhe...
ini ceritaku...

dengan membaca judul dari postingan kali ini berarti saya akan menulis tentang bagaimana cara konversi form ke excel dengan menggunakan script php..
konversi ini saya dapat dari blog tetangga yang katanya bisa di kembangkan lagi, makanya saya ambil dan kemudian saya bagikan lagi ke rekan-rekan sekalian..
nah untuk tidak memperpanjang tulisan ini ada baiknya saya mulai saja acara ini..
hehehe.....
untuk membuat konversi ke Excel menggunakan php adalah sebagai berikut :

1. buat lah sebuah form dengan index.php

Kemudian copy kan script berikut ini ..
cekidot scriptnya..

<?php

include "koneksi.php";

echo "<strong>Membuat Report format Excel dengan PHP</strong><br><br></CENTER>";
echo "<table border=1>
<tr bgcolor=#888888>
<td>No</td>
<td>Nama</td>
<td>NIM</td>
<td>Jenis Kelamin</td>
<td>Angkatan</td>
</tr>";
 
$tampil= mysql_query("SELECT * FROM mahasiswa");
$no=1;
$warna1 = "#777fff";   //menentukan warna 1
$warna2 = "#00aa99";   //menentukan warna 2
while ($r=mysql_fetch_array($tampil)){
  if ($no % 2 == 0) $warna = $warna1;
    else $warna = $warna2;
        echo "<tr bgcolor='$warna'>
            <td>$no.</td>
            <td>$r[nama]</td>
            <td>$r[nim]</td>
            <td>$r[kelamin]</td>
            <td>$r[angkatan]</td>
            </tr>";
      $no++;
    }
   
echo "</table>";
echo " Export Ke <a href=export.php><b>Excel</b></a>";
echo " <br><br><center><a href=http://miswanphp.blogspot.com><b>Miswanphp.blogspot.com</b></a><center>";
?>

sudah??
Pastekan di form index.php yang anda buat tadi ..

2. buat lah form lagi dengan nama export.php
sama seperti di atas ..
copy kan script ini ..

<?php
include "koneksi.php";

$sql = "select * from mahasiswa order by nama";  //membaca table
$export = mysql_query($sql);
$kolom = mysql_num_fields($export);

for ($i = 0; $i < $kolom; $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) ditemukan!\n"; 
            } 
    header("Content-type: application/x-msdownload");
    header("Content-Disposition: attachment; filename=mahasiswa.xls");
    header("Pragma: no-cache");
    header("Expires: 0");
    print "$header\n$data";
?>

Pastekan di export.php ya !!

3. Buat lagi form untuk koneksi ke databasenya dengan nama koneksi.php
copykan yang ini ni..

<?php
//koneksi
$dbHost = "localhost";  //nama server
$dbUser = "root";       // user
$dbPass = "1";           //password
$dbName = "exel";        // database yang akan dipake
 
// Koneksi dan memilih database di server
mysql_connect($dbHost,$dbUser,$dbPass) or die("Koneksi gagal");
mysql_select_db($dbName) or die("Database tidak bisa dibuka");
//----------------------------------
 
?>

Note : Untuk dbpass dan dbname bisa di rubah dan sesuaikan dengan password dan nama database anda..

4.nah, ini yang paling penting...
ini untuk database nya ..

copy ...


USE `exel`;

/*Table structure for table `mahasiswa` */

DROP TABLE IF EXISTS `mahasiswa`;

CREATE TABLE `mahasiswa` (
  `id_mhs` int(5) NOT NULL auto_increment,
  `nama` varchar(20) NOT NULL,
  `nim` int(10) NOT NULL,
  `kelamin` varchar(15) NOT NULL,
  `angkatan` int(4) NOT NULL,
  PRIMARY KEY  (`id_mhs`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

/*Data for the table `mahasiswa` */

insert  into `mahasiswa`(`id_mhs`,`nama`,`nim`,`kelamin`,`angkatan`) values (1,'Bayu',4568,'Laki-Laki',2009),(2,'Maman',4589,'Laki-Laki',2009),(3,'Sulistiya',4589,'Perempuan',2009),(4,'Adnan Bayu Nugraha',4987,'Laki-Laki',2010);

Kemudian...
selesai !!!!!
bagaimana?
ga susah sangat kan..

daripada susah-susah copy pastenya mending download file yang sudah jadi saja..
tinggal di extract kemudian import databasenya dan panggil di browser..
ni dia scriptnya download here boz!!!

semoga berhasil......

1 Response to "Membuat laporan Ke format Excel dengan PHP"

  1. mas,
    setelah saya coba kok yang error di
    $header .= mysql_field_name($export, $i) . "\t";
    dan di
    $data .= trim($line)."\n";

    kenapa kah ?

    ReplyDelete