Posted by : Unknown Selasa, 15 April 2014



Berikut ini akan dijelaskan gimana caranya mencetak laporan via exel menggunakan script php dan database mysql:
Contohnya saya akan mencetak salah satu tabel dari database "w3bsiteta" yaitu tabel "pemesanan":
trus buat file baru dengan nama lapexel.php di edit kesayangan anda mis: dreamweaver, ketikan listing dibawah ini

<?php

// Nama File Excel tulis dan sesuaikan dengan nama laporan kamu
$date = date('Ymd-his');
$namaFile = "LAPORAN_DATA_PEMESANAN_PAKAIAN_MUSLIMAH_SYARI".$date.".xls";

// Fungsi penanda awal
function xlsBOF() {
    echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
    return;
}

// Fungsi penanda akhir
function xlsEOF() {
    echo pack("ss", 0x0A, 0x00);
    return;
}

// Fungsi untuk menulis data angka ke cell excel
function xlsWriteNumber($Row, $Col, $Value) {
    echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
    echo pack("d", $Value);
    return;
}

// Fungsi untuk menulis data teks ke cell excel
function xlsWriteLabel($Row, $Col, $Value ) {
    $L = strlen($Value);
    echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
    echo $Value;
    return;
}

// header file excel
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");

// header untuk nama file
header("Content-Disposition: attachment; filename=".$namaFile."");
 header("Content-Transfer-Encoding: binary ");

// memanggil fungsi penanda awal
xlsBOF();

// mengisi cell A1 (baris ke-0, kolom ke-0)
xlsWriteLabel(0,0,"NO PESAN");

// mengisi cell A2 (baris ke-0, kolom ke-1)
xlsWriteLabel(0,1,"USERNAME");             

// mengisi cell A3 (baris ke-0, kolom ke-2)
xlsWriteLabel(0,2,"TANGGAL");

// mengisi cell A4 (baris ke-0, kolom ke-3)
xlsWriteLabel(0,3,"JAM");

// mengisi cell A4 (baris ke-0, kolom ke-4)
xlsWriteLabel(0,4,"STATUS BAYAR");  

// koneksi ke mysql sesuaikan dengan konfigurasi kamu punya saya tidak berpassword
mysql_connect("localhost", "root", "");
mysql_select_db("w3bsiteta"); //nama database

// Menampilkan semua data
$hasil = mysql_query("SELECT * FROM pemesanan");

// nilai awal untuk baris cell
$noBarisCell = 1;

// nilai awal untuk nomor urut data
//$noData = 1;

while ($data = mysql_fetch_array($hasil))
{
   // menampilkan no. pesan
   xlsWriteLabel($noBarisCell,0,$data['no_pesan']);

   // menampilkan data username
   xlsWriteLabel($noBarisCell,1,$data['uname']);

   // menampilkan tanggal
   xlsWriteLabel($noBarisCell,2,$data['tanggal']);

   // menampilkan jam
   xlsWriteLabel($noBarisCell,3,$data['jam']);
  
   // menampilkan status bayar
   xlsWriteLabel($noBarisCell,4,$data['status_bayar']);
  

   // increment untuk no. baris cell dan no. urut data
   $noBarisCell++;
   //$noData++;
}

// memanggil fungsi penanda akhir file excel
xlsEOF();
exit();
?>


salam...selamat mencoba..:)

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Diberdayakan oleh Blogger.

Profilku

Setya Azzahra

"Terus belajar dan ikatlah ilmu dengan menuliskannya"...DISINI

Popular Posts

Copyright © yukkShareilmu -Black Rock Shooter- Powered by Blogger - Designed by Johanes Djogan