Ekspor laporan dari Mysql ke Excel dengan PHP
Laporan data pada sebuah aplikasi website, kadang kalanya ingin dapat
diekspor ke dalam format excel untuk tujuan tertentu, meskipun
sebenarnya dengan menggunakan kode php dapat di optimalkan. Sebagai
contoh seperti pada gambar berikut ini :
Gambar ini merupakan tampilan laporan data siswa , yang terlihat pada aplikasi web. Jika ingin di ekspor kedalam microsoft excel, cukup dengan menambahkan dua baris paling atas pada halaman ini :
<?php
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=download.xls");
?>
<h3>Data Siswa</h3>
<table border="1" width="100%" >
<tr>
<th>No</th>
<th>Nim</th>
<th>Nama</th>
<th>Usia</th>
<th>Bobot IPK</th>
<th>Penghasilan Ortu</th>
<th>Jumlah Tanggunan Ortu</th>
<th>Jumlah Saudara</th>
<th>Bobot Absensi</th>
<th>Semester</th>
</tr>
<?
if(!empty($listdata)):
$data = $listdata['categoryData'];
$no = $this->uri->segment(4,0);
foreach ($data->result() as $row):
$class = ($no % 2 == 0) ? 'odd' : 'even';
$no++;
?>
<tr class="<?=$class;?>">
<td><?=$no;?>.</td>
<td><?=$row->nim;?></td>
<td><?=$row->nm_siswa;?></td>
<td><?=$row->usia;?></td>
<td><?=$row->bobot_ipk;?></td>
<td><?=pemisahribuan($row->penghasilan_ortu);?></td>
<td><?=$row->jml_tanggungan_ortu;?></td>
<td><?=$row->jml_saudara;?></td>
<td><?=$row->bobot_absensi;?></td>
<td><?=$row->semester;?></td>
</tr>
<?
endforeach;
else:
?>
<tr><td colspan="6" align="center">Data masih kosong</td></tr>
<?
endif;
?>
</table>
Saat halaman ini dibuka, akan muncul tampilan sebagai berikut :
Klik tombol Ok, maka data yang tampil pada html tersebut, otomatis akan terekspor ke dalam format excel seperti pada gambar dibawah ini :
Gambar ini merupakan tampilan laporan data siswa , yang terlihat pada aplikasi web. Jika ingin di ekspor kedalam microsoft excel, cukup dengan menambahkan dua baris paling atas pada halaman ini :
<?php
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=download.xls");
?>
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=download.xls");
?>
Dua baris kode tersebut diletakkan di bagian paling atas sebelum perulangan data dari mysql. Kode lengkapnya sebagai berikut :
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=download.xls");
?>
<h3>Data Siswa</h3>
<table border="1" width="100%" >
<tr>
<th>No</th>
<th>Nim</th>
<th>Nama</th>
<th>Usia</th>
<th>Bobot IPK</th>
<th>Penghasilan Ortu</th>
<th>Jumlah Tanggunan Ortu</th>
<th>Jumlah Saudara</th>
<th>Bobot Absensi</th>
<th>Semester</th>
</tr>
<?
if(!empty($listdata)):
$data = $listdata['categoryData'];
$no = $this->uri->segment(4,0);
foreach ($data->result() as $row):
$class = ($no % 2 == 0) ? 'odd' : 'even';
$no++;
?>
<tr class="<?=$class;?>">
<td><?=$no;?>.</td>
<td><?=$row->nim;?></td>
<td><?=$row->nm_siswa;?></td>
<td><?=$row->usia;?></td>
<td><?=$row->bobot_ipk;?></td>
<td><?=pemisahribuan($row->penghasilan_ortu);?></td>
<td><?=$row->jml_tanggungan_ortu;?></td>
<td><?=$row->jml_saudara;?></td>
<td><?=$row->bobot_absensi;?></td>
<td><?=$row->semester;?></td>
</tr>
<?
endforeach;
else:
?>
<tr><td colspan="6" align="center">Data masih kosong</td></tr>
<?
endif;
?>
</table>
Saat halaman ini dibuka, akan muncul tampilan sebagai berikut :
Klik tombol Ok, maka data yang tampil pada html tersebut, otomatis akan terekspor ke dalam format excel seperti pada gambar dibawah ini :
Semoga bermanfaat :)
ok,,, lebih keren lagi kalau tambah logo sekolah
ReplyDelete