Cara Cepat buat file Excel pake PHP
Posted October 22nd, 2008 by bakazeroCara cepat ini memang jitu. Tapi, selain punya keunggulan mudah, dan cepat, cara ini pun ternyata jika hasil .xls nya dibuka di Open Office hasilnya tidak sempurna dibandingkan dengan hasil yang didapat saat dibuka dengan Microsoft Office, dan jika setiap kita buka file hasil .xls nya, pasti dianggap bahwa file ini sebenarnya memiliki extensi bukan .xls, tapi hal ini mudah kok mengatasinya, cuma tinggal pilih OK aja.
Kira-kira begini gampangnya. pertama buat isian Excel dengan bentuk tablenya HTML. Trus setelah bentuknya sudah seperti yang diinginkan, script HTML itu dimasukkan dalam satu variable PHP, misalnya $string_excel. Lalu ubah file tersebut menjadi bentuk fungsi di PHP. Dan akhirnya disimpan di suatu file, misalnya buat_excel.php Contoh:
-
function draft_excel() {
-
$string_excel = ‘
-
<table border="1" cellspacing="1" cellpadding="1" width="450">
-
<tbody>
-
<tr>
-
<td class="header" colspan="3">POSITION PROFILE</td>
-
</tr>
-
<tr>
-
<td class="title_left" width="150">Position Title</td>
-
<td class="content" colspan="2">Pegawai Simpang Siur Tak Berarti Apa-Apa</td>
-
</tr>
-
<tr>
-
<td class="title_left" width="150">Report To</td>
-
<td class="content" colspan="2">Pemimpin Yang Akan Selalu Bertanggung Jawab</td>
-
</tr>
-
<tr></tr>
-
</tbody></table>
-
‘;
-
return $string_excel;
-
}
Oh, iya bisa ditambahkan style css ringan juga lho untuk merekayasa (bahasanya booo..!!!) bentuk tulisan dan tampilan hasilnya. Setelah itu kita butuh tambahan satu fungsi lagi untuk menyatakan file tersebut bukan file PHP tadi Excel. Caranya adalah dengan membuat fungsi ini (silahkan tambahkan fungsi ini di file buat_excel.php juga) :
-
function header_excel($filename) {
-
}
Akhirnya kita mempunyai dua fungsi, yang pertama adalah draft_excel(), kemudian yang kedua adalah header_excel($filename). Sekarang coba panggil keduanya dengan menuliskan tambahan code seperti ini pada file buat_excel.php :
-
header_excel(‘nama_file’.xls);
Coba sekarang jalankan file buat_excel.php. Hasilnya gimana? Baguskan? Teknik ini juga bisa digunakan dengan bahasa XML, tapi ku juga lom baca-baca tentang hal itu.
Jika ingin hasil yang lebih memuaskan, sebaiknya pelajari dan gunakan class php yang open-source ini.
11 Responses to “Cara Cepat buat file Excel pake PHP”
October 22nd, 2008 at 7:19 pm
perlu di coba dulu bob …
screen shotnya bob
October 23rd, 2008 at 9:19 am
oww… ku dah coba kok afwan…
dan hasilnya: 3000+ file Excel hasil generate di PHP…
lumayan kan…
daripada jari-jari ini fitness seharian
buat nginput doank seluruh data2nya…
(memang sih perlu ada editing sana sini,
karena ku juga ambil data dari Oracle lewat PHP).
October 24th, 2008 at 8:07 am
wow berguna ne thanx ya tips2 nya
November 19th, 2008 at 9:49 am
aku jg dah ikut nyoba ni script.. tapi hsil excell-nya kok gk ada??
mksutnya yg ‘nama_file’.xls tu mana?
November 20th, 2008 at 8:56 am
jika dijalankan script:
header_excel(’nama_file’.xls);
echo draft_excel();
pada suatu file PHP…
maka file itu akan dianggap sebagai file excel,
dan langsung masuk ke perintah download.
‘nama_file’.xls itu untuk memberi nama file Excel,
yang akan di download.
February 5th, 2009 at 1:38 pm
ya ampun..
bob..
kemaren gw dapet kerjaan ini..
tapi dah sesai sekarang..
eh baru baca deh tutorial kamu..
ku coba deh..
thanx infonya..
March 17th, 2009 at 11:19 am
bisa di perlihatkan contoh yang menggunakan oracle, soalnya saya nyoba tidak bisa2x…
thnks
March 25th, 2009 at 11:27 am
ga ngerti. paa mesti donlod ini dulukah?
* BIFFwriter.php
* Format.php
* OLEwriter.php
* Parser.php
* Workbook.php
* Worksheet.php
dicoba ga bisa..
March 28th, 2009 at 12:42 pm
thx infonya btw gw modifikasi function header_exel … thx…thx…thx banget bro gpp khan gw modifikasi codenya
function draft_excel() {
$string_excel = ‘
POSITION PROFILE
Position Title
Pegawai Simpang Siur Tak Berarti Apa-Apa
Report To
Pemimpin Yang Akan Selalu Bertanggung Jawab
‘;
return $string_excel;
}
function header_excel($filename) {
header(”Content-type: application/vnd.ms-excel”);
header(”Content-Disposition: attachment; filename=$filename.”.”xls” );
header(”Expires: 0″);
header(”Cache-Control: must-revalidate, post-check=0,pre-check=0″);
header(”Pragma: public”);
}
header_excel(’nama_file’);
echo draft_excel();
May 3rd, 2009 at 6:25 pm
Ini maksudnya nge parse sql ke excel ya??? hemmm dijadikan satu class bisa nda om bob?
November 18th, 2009 at 6:55 am
hahaha…
(
sudah pake yang open source.
tapi masih bingung caranya nginput lebih dari 1 sheet untuk kasus paging
kenapa org2 mempersulit yang mudah c
ada usulan yang lain ga bob?
Leave a Reply