Jika dalam posting lalu https://blogit.bimosaurus.com/2012/04/09/contoh-1-membuat-laporan-export-data-dari-mysql-ke-excel-dengan-php-no-pear/ kita sudah belajar menggunakan php untuk melakukan export ke dalam file excel yang datanya diambil dari database, namun ternyata proses yang kita pelajari tersebut masih terdapat kekurangan. Kekurangannya yaitu bahwa data excel yang dihasilkan tidak terencoding dengan baik sebagaimana layaknya file excel. Excel yang dihasilkan hanyalah file text dalam bentuk table, yang disimpan sebagai xls atau excel spreadsheet. Untuk membuat exporting data dalam bentuk excel yang sebenarnya maka perlu tools yang berfungsi mengolah encoding data cell dan column ke dalam excel encoding sehingga data akan dapat di download dalam format excel. Dalam PHP-PEAR, fasilitas upload download excel ini jelas telah ada. Tutorial penggunaan PEAR menyusul. Kali ini kita akan belajar menggunakan fasilitas : php_writeexcel-0.3.0.tar.gz yang telah saya siapkan di https://blogit.bimosaurus.com/files/php_writeexcel-0.3.0.tar.gz.
Extractlah file tersebut ke dalam direktori yang anda suka. Kalau saya lebih suka memasukkan segala fasilitas ini ke dalam direktori libs. Sehingga akan terbentuk libs/php_writeexcel-0.3.0 . Untuk contoh scripting menggunaan php_writeexcel ini dasarnya adalah sebagai berikut :
require_once "libs/php_writeexcel-0.3.0/class.writeexcel_workbook.inc.php";
require_once "libs/php_writeexcel-0.3.0/class.writeexcel_worksheet.inc.php";
$fname = tempnam("/tmp", "namafile.xls"); //membuka sebuah file baru diletakkan dalam /tmp
$workbook = &new writeexcel_workbook($fname); //workbook diberinama
$worksheet = &$workbook->addworksheet(); //nambah worksheet
//tulis
$worksheet->write(0, 0, "JUDUL diletakkan di kolom 1");
$worksheet->write(2, 0, "title baris 3 kolom 1");
$worksheet->write(2, 1, "title baris 3 kolom 2");
$i = 3;
while($i <= 10){
$kol = $i+1; // karena nomer kolom pertama adalah 0, maka $kol adalah 0+1
$worksheet->write($i,0,"Ini Baris $kol Kolom ke 1");
$worksheet->write($i,1,"Ini Baris $kol Kolom ke 2");
$i++;
}
$workbook->close();
header("Content-Type: application/x-msexcel; name=\"namafile.xls\"");
header("Content-Disposition: inline; filename=\"namafile.xls\"");
$fh=fopen($fname, "rb"); //membuka file namafile.xls , membacanya dan siap untuk mengolah dalam bentuk biner
fpassthru($fh); //menuangkan data yang ada di buffer
unlink($fname); //setelah terdownload, hapus file
Contoh data ini dapat dilihat di https://blogit.bimosaurus.com/demo/export1.php. Untuk posting selanjutnya akan dicoba menuangkan data MySQL ke bentuk XLS MS Excel.
Semoga Berguna
wah… artikel yang sangat bagus.., yang saya mau tanya bagaimana script misalkan judul di merge menjadi 3 cell trus bagaimana cara format font dan border??
Untuk penjelasan ini mungkin perlu satu tutorial lagi yang sekarang sudah saya antrikan untuk masuk dalam posting selanjutnya. PHPExcelWriter memiliki fasilitas untuk MERGE, FORMAT FONT dan sekaligus memberikan border. Namun secara ringkas akan coba dijelaskan di sini:
Dengan $formatfont diset seperti berikut :
Mohon ditunggu ya mas mungkin dalam 1-2 hari, terimakasih telah mengunjungi blog ini
terima kasih…. saya tunggu posting terbarunya… semoga tambah sukses
Siap!! Terimakasih kunjungannya, ini sekedar catatan belaka, daripada tidak dishare malah lupa hahaha
mengapa di xampp ver 1.7.4 tidak jalan ya? waktu kita buka file excel nya isi yg sbenar nya tdk ada tp yg tertulis di file tersebut pesan error semua error semua
Kalo di XAMPP ver 1.8 yang mendukung PHP 5 g mana??Ana coba error
Bisakah error messagenya dishare disini? Tapi sangat besar kemungkinan errornya adalah berkaitan dengan Deprecated Function Syntax, yaitu Fungsi Syntax PHP yang tidak lagi digunakan di versi terbaru karena alasan krusial seperti security, bug, dan crashed. Sebagai solusi bisa dua cara, yaitu:
Dalam hal ini sepertinya lebih mudah di angka 1 atau 3. Lain kali akan saya share tentang hal itu 🙂
Deprecated: Assigning the return value of new by reference is deprecated in D:\xampp\htdocs\latihanphp\write_excel\export.php on line 6
Deprecated: Assigning the return value of new by reference is deprecated in D:\xampp\htdocs\latihanphp\write_excel\php_writeexcel-0.3.0\class.writeexcel_workbook.inc.php on line 170
Deprecated: Assigning the return value of new by reference is deprecated in D:\xampp\htdocs\latihanphp\write_excel\php_writeexcel-0.3.0\class.writeexcel_workbook.inc.php on line 190
Deprecated: Assigning the return value of new by reference is deprecated in D:\xampp\htdocs\latihanphp\write_excel\php_writeexcel-0.3.0\class.writeexcel_workbook.inc.php on line 192
Notice: Undefined offset: 3 in D:\xampp\htdocs\latihanphp\write_excel\php_writeexcel-0.3.0\class.writeexcel_worksheet.inc.php on line 1209
��ࡱ�>�� �������� ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ l �Sheet1B�=�%r8X”1���Arial1���Arial1���Arial1���Arial1���Arial1��Arial��� @� ��� @� ��� @� ��� @� ��� @� ��� @� ��� @� ��� @� ��� @� ��� @� ��� @� ��� @� ��� @� ��� @� ��� @� � @� � H� �����8�������������������������������3f������ff���f����������������������������������̙��̙3f�3���������fff����3f3�f333�3�3f33�333� ‘Sheet1 l �*+����”dXX�?�? #JUDUL diletakkan di kolom 1title baris 3 kolom 1title baris 3 kolom 2Ini Baris 4 Kolom ke 1Ini Baris 4 Kolom ke 2Ini Baris 5 Kolom ke 1Ini Baris 5 Kolom ke 2Ini Baris 6 Kolom ke 1Ini Baris 6 Kolom ke 2Ini Baris 7 Kolom ke 1Ini Baris 7 Kolom ke 2Ini Baris 8 Kolom ke 1Ini Baris 8 Kolom ke 2Ini Baris 9 Kolom ke 1Ini Baris 9 Kolom ke 2 Ini Baris 10 Kolom ke 1 Ini Baris 10 Kolom ke 2 Ini Baris 11 Kolom ke 1 Ini Baris 11 Kolom ke 2)�?(�?’�?&�?��> � Root Entry������������Book ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
Warning: unlink(C:\Documents and Settings\admin\Local Settings\Temp\nam3C.tmp): Permission denied in D:\xampp\htdocs\latihanphp\write_excel\export.php on line 29
Maaf Kl Ana Share Nya Asal heee>
Jadinya seperti Itu
mantaaaappppp, ini baru yg nggk ribet