Archive

Posts Tagged ‘web engineering’

Membuat Laporan(Report) dengan PHP Excel

21 July 2012 53 comments

Mungkin bagi newbi-newbi termasuk saya sering bingung jika berhadapan dengan reporting atau membuat laporan di PHP. Baik itu laporan dalam bentuk PDF atau EXCEL.

Saya sendiri pernah mencoba 3 (tiga) library untuk membuat laporan dalam bentuk PDF (bisa dilihat disni). Untuk laporan atau reporting dalam bentuk excel ada satu library PHP yang sangat mengagumkan, yaitu PHPExcel.

Sebelumnya saya biasanya memakai cara biasa untuk membuat laporan dalam excel, cara ini termasuk cara yang paling mudah bagi saya:


<?php
// isi $excel akan bernilai true apabila ditemukan parameter get dengan nama 'excel'
$excel = isset($_GET['excel']);
if($excel):
 // buat nama file unique untuk di download
 $filename = 'export-'.date('YmdHis');
 // dengan perintah di bawah ini akan memunculkan dialog download di browser anda
 header("Content-type: application/x-msdownload");
 // perintah di bawah untuk menentukan nama file yang akan di download
 header("Content-Disposition: attachment; filename=".$filename.".xls");
else:
 // tag header di html disembuyikan apabila sedang convert html to excel
?>
<html>
<head>
<style type="text/css">
/* setting format tabel */
table {
 font-family: Verdana;
 font-size: 8pt;
 border-width: 1px;
 border-style: solid;
 border-color: #ccd2d2;
 border-collapse: collapse;
 background-color: #f9f9f9;
}
th {
 color: #f00;
 font-size: 8pt;
 text-transform: uppercase;
 text-align: center;
 padding: 0.5em;
 border-width: 1px;
 border-style: solid;
 border-color: #000;
 border-collapse: collapse;
 background-color: #000;
}
td {
 padding: 0.1em;
 color: #272727;
 vertical-align: top;
 border-width: 1px;
 border-style: solid;
 border-color: #000;
 border-collapse: collapse;
 font-size: 8pt;
}
</style>
<title>Membuat Report Excel Dari HTML Dengan PHP</title>
</head>
<body>
<?php endif; ?>
<?php if(!$excel): ?>
<!-- Tombol di bawah dan penutup html hanya akan dipanggil apabila dalam kondisi melihat data,
 tapi ketika menampilkan file excel tombol ini disembunyikan -->
<div align="left" style="margin-top:15px">
 <input type="button" onClick="document.location='?excel=1'" value="Export to Excel" />
</div>
<br>
<?php endif; ?>
<?php
//setting koneksi anda
$server = "localhost";
$username = "root";
$password = "";
$db = "excel";
$tbl = "customer";

$koneksi = mysql_connect($server,$username,$password);
mysql_select_db($db, $koneksi) or die("Cannot connect to database..");

// create tabel dengan php
echo "<div align='left'><img src='http://smartcoderszone.com/wp-content/uploads/2010/09/generate-excel-report-with-php-and-mysql2.jpg' width='100' height='150'><div><br><br><br><br><br>";
echo "<p> </p>";
echo "<div align='left' style='color='#ff0000'><strong>DATA PEGAWAI</strong>";
echo "<table border='1'>";
echo " <tr bgcolor='#cccccc'>";
echo " <th>NO</th>";
echo " <th>company_name</th>";
echo " <th>email</th>";
echo " <th>city</th>";
echo " </tr>";

 $str = " SELECT * FROM ".$db.".".$tbl.
 " order by ID desc ";
 $query = mysql_query($str);
 if($query && mysql_num_rows($query) > 0){
 $no = $posisi+1;
 while($row = mysql_fetch_object($query)){
 //if($bgcolor=='#f1f1f1'){$bgcolor='#ffffff';}
 //else{$bgcolor='#f1f1f1';}
 echo "<tr bgcolor=$bgcolor>";
 echo " <td align='center' height='18'><strong>$no</strong></td>";
 echo " <td>{$row->company_name}&nbsp;</td>";
 echo " <td>{$row->email}&nbsp;</td>";
 echo " <td>{$row->city}&nbsp;</td>";
 $no++;
 }
 }
 //echo $str;
echo " </tr>";
echo "</table>";
echo "</div>";
?>
</body>
</html>

Cara yang lebih rumit tapi lebih bisa di custom, sebelum saya “menemukan” phpexcel saya sering pakai cara ini

dan sepertinya cara ini sering digunakan karena kebanyakan tutorial di internet memakai cara ini: Read more…

Materi Web Engineering

22 December 2010 Leave a comment
%d bloggers like this: