cetak php microsoftword1

7
Skrip PHP untuk Export Database MySQL ke File Microsotf Excel Didalam mengolah database MySQL, sering sekali kita berhubungan dengan bagaimana cara menampilkan data sesuai dengan permintaan. Biasanya database MySQL ini akan kita tampilkan didalam halaman website kita. Namun ada kalanya, database MySQL yang sudah kita olah sedemikian rupa dengan PHP ingin ditampilakn dalam bentuk lain, misalnya dalam format PDF, file Microsoft Word, Excel dan lain sebagainya. Salah satau yang paling sering diminta adalah membuat tampilan data dalam file Microsoft Excel. Sering sekali database yang diolah di dalam PHP diminta oleh user untuk di tampilkan dalam bentuk File Microsotf Excel. Dan ini biasanya adalah data yang lumayan banyak, sehingga kalau kita melakukan Copy + Paste datanya secara manual dari MySQL ke Ms Excel tentunya akan report dan lama. Disini kita membutuhkan aplikasi khusus yang berguna untuk melakukan Export database MySQL kedalam file Ms Excel. Untungnya, sudah banyak Library PHP yang bisa kita gunakan untuk melakukan tugas ini. Salah satunya adalah Library PHPExcel . Contoh aplikasi buatan saya yang sudah menerapkan trik ini adalah LunkSMS Gateway , LunkSMS Broadcast , dan kebanyakan List Project buatan saya. Selain itu, trik ini juga saya terapkan di dalam buku pertama saya yaitu Membangun SMS Gateway Berbasis Web Menggunakan CodeIgniter . Dan berita gembiranya lagi, dibuku kedua saya yang akan membahas Aplikasi Perpustakaan Berbasis Web dengan CodeIgniter , trik ini juga akan saya gunakan. Library PHPExcel ini jugalah yang akan kita gunakan pada tutorial ini untuk melakukan export database MySQL kedalam file Ms Excel. Untuk memulai tutorial ini, dimisalkan kita memiliki sebuah database “perpustakaan” yang memiliki table anggota”. Tabel “anggota” ini kira-kira akan terlihat seperti kode dibawah ini : 1. 2. CREATE TABLE IF NOT EXISTS `anggota` (

Upload: andri-firmansyah

Post on 20-Nov-2015

7 views

Category:

Documents


3 download

DESCRIPTION

c

TRANSCRIPT

Skrip PHP untuk Export Database MySQL ke File Microsotf Excel Didalam mengolah database MySQL, sering sekali kita berhubungan dengan bagaimana cara menampilkan data sesuai dengan permintaan. Biasanya database MySQL ini akan kita tampilkan didalam halaman website kita. Namun ada kalanya, database MySQL yang sudah kita olah sedemikian rupa dengan PHP ingin ditampilakn dalam bentuk lain, misalnya dalam format PDF, file Microsoft Word, Excel dan lain sebagainya. Salah satau yang paling sering diminta adalah membuat tampilan data dalam file Microsoft Excel.

Sering sekali database yang diolah di dalam PHP diminta oleh user untuk di tampilkan dalam bentuk File Microsotf Excel. Dan ini biasanya adalah data yang lumayan banyak, sehingga kalau kita melakukan Copy + Paste datanya secara manual dari MySQL ke Ms Excel tentunya akan report dan lama. Disini kita membutuhkan aplikasi khusus yang berguna untuk melakukan Export database MySQL kedalam file Ms Excel. Untungnya, sudah banyak Library PHP yang bisa kita gunakan untuk melakukan tugas ini. Salah satunya adalah Library PHPExcel. Contoh aplikasi buatan saya yang sudah menerapkan trik ini adalah LunkSMS Gateway, LunkSMS Broadcast, dan kebanyakan List Project buatan saya.

Selain itu, trik ini juga saya terapkan di dalam buku pertama saya yaitu Membangun SMS Gateway Berbasis Web Menggunakan CodeIgniter. Dan berita gembiranya lagi, dibuku kedua saya yang akan membahas Aplikasi Perpustakaan Berbasis Web dengan CodeIgniter, trik ini juga akan saya gunakan.

Library PHPExcel ini jugalah yang akan kita gunakan pada tutorial ini untuk melakukan export database MySQL kedalam file Ms Excel. Untuk memulai tutorial ini, dimisalkan kita memiliki sebuah database perpustakaan yang memiliki table anggota. Tabel anggota ini kira-kira akan terlihat seperti kode dibawah ini :

1. 2. CREATE TABLE IF NOT EXISTS `anggota` (3. `anggota_id` int(10) NOT NULL AUTO_INCREMENT,4. `nama_anggota` varchar(30) NOT NULL,5. `jenis_kelamin` varchar(10) NOT NULL,6. `alamat_anggota` text NOT NULL,7. `no_telepon` varchar(15) NOT NULL,8. PRIMARY KEY (`anggota_id`)9. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;10. 11. INSERT INTO `anggota` (`anggota_id`, `nama_anggota`, `jenis_kelamin`, `alamat_anggota`, `no_telepon`) VALUES12. (1, 'Daud Edison Tarigan', 'Pria', 'Jl Harmonika No 61 Medan', '0878680044'),13. (2, 'Andi Tarigan', 'Pria', 'Kuta Pengkih', '0878680044');14.

Misalkan kita ingin mengekport database diatas kedalam bentuk file Microsoft Excel, kita dapat kita lakukan dengan kode dibawah ini :1. 2. setCategory("Test result file");21. 22. // Add some data23. $objPHPExcel->setActiveSheetIndex(0)24. ->setCellValue('A1', 'No')25. ->setCellValue('B1', 'Nama Anggota!')26. ->setCellValue('C1', 'Jenis Kelamin')27. ->setCellValue('D1', 'Alamat Anggota')28. ->setCellValue('E1', 'Nomor Telepon');29. 30. $rowNya = 2;31. $no = 0; 32. while($row=mysql_fetch_array($hasil)){33. $no = $no +1;34. $objPHPExcel->setActiveSheetIndex(0)35. ->setCellValue("A$rowNya", $no)36. ->setCellValue("B$rowNya", $row['nama_anggota'])37. ->setCellValue("C$rowNya", $row['jenis_kelamin'])38. ->setCellValue("D$rowNya", $row['alamat_anggota'])39. ->setCellValue("E$rowNya", $row['no_telepon']);40. $rowNya = $rowNya + 1;41. }42. 43. // Rename sheet44. $objPHPExcel->getActiveSheet()->setTitle('Simple');45. 46. // Set active sheet index to the first sheet, so Excel opens this as the first sheet47. $objPHPExcel->setActiveSheetIndex(0);48. 49. // Redirect output to a clients web browser (Excel5)50. header('Content-Type: application/vnd.ms-excel');51. header('Content-Disposition: attachment;filename="database_anggota.xls"');52. header('Cache-Control: max-age=0');53. 54. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');55. $objWriter->save('php://output');56. exit;57. ?>58.

Selanjutnya jika file PHP ini anda jalankan, maka secara otomatis database ini akan di import kedalam file Microsoft Excel dengan nama data_anggota.xls. Mari saya jelaskan bagian-bagian kode diatas. Kode dibawah ini adalah kode untuk memanggil Library PHPExcel, sehingga bisa digunakan di dalam aplikasi. Perhatikan kode ini :1. 2. error_reporting(E_ALL);3. require_once 'Classes/PHPExcel.php';4. // Create new PHPExcel object5. $objPHPExcel = new PHPExcel();6.

Selanjutnya adalah kode untuk melakukan koneksi kedalam database perpustakaan . Perhatikan kode dibawah ini :1. 2. mysql_connect("localhost", "root", "") or die(mysql_error());3. mysql_select_db("perpustakaan") or die(mysql_error());4. $query = "SELECT * FROM `anggota`";5. $hasil = mysql_query($query);6.

Selanjutnya adalah kode untuk membentuk Properti dari File Microsoft Excel yang akan kita bentuk. Propertis ini tidak akan kelihatan secara nyata didalam file kita nantinya. Perhatikan kode dibawah ini :1. 2. $objPHPExcel->getProperties()->setCreator("Daud Edison Tarigan")3. ->setLastModifiedBy("Daud Edison Tarigan")4. ->setTitle("Office 2007 XLSX Test Document")5. ->setSubject("Office 2007 XLSX Test Document")6. ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")7. ->setKeywords("office 2007 openxml php")8. ->setCategory("Test result file");9.

Kode berikutnya adalah kode utama yang akan mengolah database menjadi kolom dan baris didalam file Microsoft excel. Kode inilah kode paling penting dari aplikasi ini. Nantinya untuk mengerjakan aplikasi serupa yang lebih kompleks anda akan banyak bermain di kode dibawah ini :1. 2. // Add some data3. $objPHPExcel->setActiveSheetIndex(0)4. ->setCellValue('A1', 'No')5. ->setCellValue('B1', 'Nama Anggota!')6. ->setCellValue('C1', 'Jenis Kelamin')7. ->setCellValue('D1', 'Alamat Anggota')8. ->setCellValue('E1', 'Nomor Telepon');9. 10. $rowNya = 2;11. $no = 0; 12. while($row=mysql_fetch_array($hasil)){13. $no = $no +1;14. $objPHPExcel->setActiveSheetIndex(0)15. ->setCellValue("A$rowNya", $no)16. ->setCellValue("B$rowNya", $row['nama_anggota'])17. ->setCellValue("C$rowNya", $row['jenis_kelamin'])18. ->setCellValue("D$rowNya", $row['alamat_anggota'])19. ->setCellValue("E$rowNya", $row['no_telepon']);20. $rowNya = $rowNya + 1;21. }22.

Setelah data-data MySQL disusun kedalam kolom dan baris Microsoft Excel, selanjutnya kita akan menempatkannya kedalam sheet File Ms Excel. Sheet ini adalah lembaran kerja dari File Microsoft Excel. Dalam hal ini, sheet nya kita beri nama Simple dan kita buat sebagai sheet awal. Perhatikan kode dibawah ini :1. 2. // Rename sheet3. $objPHPExcel->getActiveSheet()->setTitle('Simple');4. 5. // Set active sheet index to the first sheet, so Excel opens this as the first sheet6. $objPHPExcel->setActiveSheetIndex(0);7.

Setelah kode utama yang mengolah database menjadi baris dan kolom File Microsoft Excel, selanjutnya tugas kita adalah mencetak data-data tersebut menjadi file Microsotf Excel dengan nama tertentu, dalam hal ini kita buat namanya menjadi database_anggota.xls. Perhatikan kode dibawah ini :1. 2. // Redirect output to a clients web browser (Excel5)3. header('Content-Type: application/vnd.ms-excel');4. header('Content-Disposition: attachment;filename="database_anggota.xls"');5. header('Cache-Control: max-age=0');6. 7. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');8. $objWriter->save('php://output');9. exit;10.

Nah, sampai disini saya kira teman-teman sudah bisa mengerti konsep dari pembuatan aplikasi Export Database MySQL ini kedalam file Ms Excel. Mudah-mudahan artikel ini membantu teman-teman semuanya.