Belajar PHP‎ > ‎

Tips PHP

Menghasilkan File Excel dengan PHP

posted Dec 3, 2011, 7:05 AM by Editor KursusInternet   [ updated Dec 3, 2011, 8:06 PM ]

Selain tampilan berbentuk halaman web, banyak user yang menginginkan laporan dalam bentuk file Excel sehingga mudah diolah dan dianalisa lebih lanjut.  Dengan demikian, tuntutan untuk programmer PHP dalam menghasilkan format Excel tentunya semakin tidak dapat dihindarkan. 

Di lain pihak, tidak terlalu banyak class maupun extension PHP yang mengakomodir hal tersebut. Walaupun ada, beberapa telah menjadi project yang tidak dipelihara (maintain) dengan baik. 

Pada kesempatan kali ini, penulis memilih project PHPExcel yang cukup aktif dikembangkan sebagai topik untuk solusi output file berformat Excel dari PHP.

Kebutuhan / Requirement Sistem

PHPExcel merupakan kumpulan class PHP yang dapat digunakan apabila kebutuhan (requirement) berikut telah terpenuhi :
  • Versi PHP yang digunakan adalah 5.2 ke atas.
  • Extension berikut telah diaktifkan :
    • php_zip
    • php_xml
    • php_gd2
Screenshot berikut ini menampilkan informasi dari phpinfo() bahwa kebutuhan di atas telah terpenuhi.


Instalasi dan Konfigurasi PHPExcel

  1. Kunjungi halaman website PHPExcel : http://phpexcel.codeplex.com.
  2. Klik tombol "Download" untuk mengambil versi stabil terakhir. Pada saat penulisan dibuat, versi terakhir adalah 1.7.6.


  3. Ekstrak folder tersebut dan kita akan dapatkan file berikut pada root folder.


  4. PIndahkan folder Classes ke folder aplikasi web yang Anda inginkan.
  5. Selesai.

Contoh Penggunaan

generate_excel.php

<?php error_reporting(E_ALL); include_once 'phpexcel1.7.6/Classes/PHPExcel.php'; $objXLS = new PHPExcel(); $objSheet = $objXLS->setActiveSheetIndex(0); $objSheet->setCellValue('A1', 'No.'); $objSheet->setCellValue('B1', 'Nama Kategori'); $objSheet->setCellValue('A2', 1); $objSheet->setCellValue('B2', 'Buah-buahan'); $objSheet->setCellValue('A3', 2); $objSheet->setCellValue('B3', 'Sayur-sayuran'); $objXLS->getActiveSheet()->getColumnDimension("A")->setAutoSize(true); $objXLS->getActiveSheet()->getColumnDimension("B")->setAutoSize(true); $objXLS->getActiveSheet()->setTitle('Kategori Produk'); $objXLS->setActiveSheetIndex(0); $objWriter = PHPExcel_IOFactory::createWriter($objXLS, 'Excel5'); $objWriter->save(__DIR__ . "/hasil.xls"); ?>


Video Demo Penggunaan


Sumber Referensi

Koneksi MS SQL Server dari PHP 5

posted Dec 3, 2011, 4:06 AM by Editor KursusInternet   [ updated Dec 3, 2011, 6:55 AM ]

Pendahuluan

Microsoft SQL Server adalah salah satu database enterprise yang banyak digunakan oleh perusahaan / korporasi di Indonesia maupun dunia.

Dengan popularitas SQL Server dan PHP (terutama PHP 5) yang semakin hari semakin naik, maka solusi menggunakan penggabungan kedua produk tersebut semakin sering menjadi tuntutan dari berbagai perusahaan.

Artikel berikut akan memberikan tuntunan dari instalasi driver SQL Server yang di-download secara terpisah, konfigurasi pada PHP, dan contoh penggunaan.

Instalasi dan Konfigurasi SQL Server Driver for PHP

  • Kunjungi website : http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.
  • Klik icon "Get It".


  • Klik link "Download" pada pilihan SQLSVR20.EXE (versi pada saat penulisan artikel ini dibuat).


  • Simpan dan jalankan file tersebut ketika telah selesai dilakukan download.
  • Klik tombol "Yes" untuk dialog awal yang muncul.


  • Pilih lokasi extension folder PHP Anda pada dialog berikutnya dan klik tombol "OK".


  • Tunggu beberapa saat sampai muncul dialog terakhir seperti terlihat pada gambar di bawah ini (klik untuk memperbesar gambar). Klik tombol "OK".


  • Edit file php.ini Anda dengan menambahkan baris berikut untuk mengaktifkan penggunaan driver extension ini.

    extension=php_sqlsrv_53_ts_vc9.dll
  • Restart server Anda.
  • Jalankan fungsi phpinfo() dan pastikan support untuk modul sqlsrv telah aktif.


  • Selesai.

Contoh Penggunaan

Untuk contoh database kita gunakan "phi_minimart" yang dapat Anda download dari website http://code.google.com/p/contoh-database/,. Table yang akan digunakan dari database tersebut adalah table "ms_cabang" dengan isi terlihat seperti pada gambar di bawah ini.


Berikut adalah contoh penggunaan script php untuk melakukan query ke table tersebut dan menampilkan hasilnya dalam bentuk table.

koneksisql.php

<html> <head><title>Contoh Koneksi SQL Server</title></head> <body> <?php $connectionInfo = array( "Database"=>"phi_minimart"); $conn = sqlsrv_connect( "localhost", $connectionInfo); if( $conn === false ) {     echo "Tidak bisa melakukan koneksi.\n";     die( print_r( sqlsrv_errors(), true)); } $query = "SELECT * FROM ms_cabang "; $stmt = sqlsrv_query($conn, $query); if( $stmt === false ) {     echo "Error in statement execution.\n";     die( print_r( sqlsrv_errors(), true)); } echo "<table border='1'>"; echo "<tr><th>Kode Cabang</th><th>Nama Cabang</th></tr>"; while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) {     echo "<tr><td>$row[kode_cabang]</td><td>$row[nama_cabang]</td></tr>"; } echo "</table>"; sqlsrv_free_stmt( $stmt); sqlsrv_close( $conn); ?> </body> </html>

Hasil Eksekusi


Ada Pertanyaan ?

Jika Anda kurang jelas mengenai artikel ini, Anda dapat bertanya atau mengikuti diskusi kami di milis kursus-internet. Untuk bergabung dengan milis tersebut cukup kirimkan email kosong ke kursus-internet+subscribe@googlegroups.com dan balas email konfirmasinya.

Sumber Referensi

Penggunaan "array_pad" untuk Mengisi Array yang "Bolong"

posted Dec 3, 2011, 2:38 AM by Editor KursusInternet   [ updated Dec 3, 2011, 3:27 AM ]

Pendahuluan

Sering sekali pada saat penggunaan array terutama array 2 dimensi yang membentuk matrix "bolong-bolong", dalam arti bahwa dimensi array yang kita tentukan yang harusnya terisi semua ternyata tidak demikian.

Sebagai contoh misalkan kita memiliki array dua dimensi 2 x 3, pada dimensi pertama index pertama array mungkin terisi penuh dengan 3 item. Tetapi pada dimensi pertama index kedua ada kemungkinan hanya terisi 2 item.

Dengan kondisi demikian, apabila data php kita integrasikan misalkan dengan library chart yang  "strict" pada kelengkapan data maka akan menimbulkan masalah.

Untuk lebih jelasnya berikut adalah contoh penggunaan dan screenshot hasil eksekusi.

Contoh Penggunaan array_pad

contoh_array_pad.php

<html> <head>     <title>Contoh Penggunaan Array</title> </head> <body> <pre> <?php     $arr_matrix = array( array("angka 1", "angka 2", "angka 3"), array(1, 2, 3), array (10, 20), array(100));     echo "<h1>Sebelum</h1>";     print_r($arr_matrix);     echo "<h1>Sesudah</h1>";     foreach($arr_matrix as $key=>$val)     {         $arr_matrix[$key] = array_pad($val, 3, 0);     }     print_r($arr_matrix); ?> </pre> </body> </html>

Hasil Eksekusi


Sumber Referensi

1-3 of 3