[Contoh 3] Membuat Laporan Export Data dari MySQL ke Excel terencoding dengan PHP (no-pear)

Posting lalu, https://blogit.bimosaurus.com/2012/04/09/contoh-1-membuat-laporan-export-data-dari-mysql-ke-excel-dengan-php-no-pear/ telah ditunjukkan bagaimana caranya membuat sebuah laporan download Excel dengan menggunakan php_writeexcel. Kali ini akan dilanjutkan dengan bagaimana menuangkan data dari MySQL database ke dalam file berformat XLS atau spreadsheet. Berikut sebuah contoh, misal kita memiliki sebuah tabel sebagai berikut, bernama tabel pegawai dalam sebuah database.

nip nama honor status_ambil
10001 Susanto Rp. 1000000 Belum
10002 Susanti Rp. 1000000 Sudah
10003 Marwoto Rp. 2000000 Sudah
10004 Gunadi Rp. 1500000 Belum
10005 Nur Eko Rp. 1000000 Belum

Tabel dalam database MySQL tersebut akan kita tuangkan dalam sebuah file Excel dengan nama : laporan-tanggal-dd-mm-yy.xls.
Maka kita akan membuat sebuah script seperti 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";

if(mysql_connect( "localhost","user","pass" )){
   mysql_select_db( "kepegawaian" );
}


$date = date('Y-m-d');
$fname = tempnam("/tmp", "laporan-tanggal-$date.xls"); //membuka sebuah file baru diletakkan dalam /tmp
$workbook = &new writeexcel_workbook($fname); //workbook diberinama
$worksheet = &$workbook->addworksheet(); //nambah worksheet

//tulis blok titel tabel

$worksheet->write(0, 0,  "Data Pegawai PT anu");
$worksheet->write(2, 0,  "NIP");
$worksheet->write(2, 1,  "Nama");
$worksheet->write(2, 2,  "Honor");
$worksheet->write(2, 3,  "Status Ambil");
//title selesai

//mari query
$sql = "SELECT * FROM `pegawai`";
$q = mysql_query( $sql );
$i = 3; //ingat bahwa kolom sebenarnya adalah nilai i ditambah 1, karena dimulai dengan nol
while( $r = mysql_fetch_array( $q ) ){
   $worksheet->write($i,0,$r['nip']);
   $worksheet->write($i,1,$r['nama']);
   $worksheet->write($i,2,$r['honor']);
   $worksheet->write($i,3,$r['status_ambil']);
   $i++;
}
$workbook->close(); //selesai tulis

//tuang data
header("Content-Type: application/x-msexcel; name=\"laporan-tanggal-$date.xls\"");
header("Content-Disposition: inline; filename=\"laporan-tanggal-$date.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

Hasilnya kira-kira dapat diambil disini : https://blogit.bimosaurus.com/demo/export2.php. Format ini adalah setara dengan MS-Excel 2000/XP.
Posting selanjutnya adalah bagaimana memasukkan data dari XLS/Excel ke dalam database MySQL.. Tunggu posting tersebut
Semoga berguna.

[Contoh 2] Membuat Laporan Export Data dari MySQL ke Excel terencoding dengan PHP (no-pear)

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

[Contoh 1] Membuat Laporan Export Data dari MySQL ke Excel dengan PHP (no-pear)

Salah satu yang diperlukan dalam sistem informasi adalah pelaporan dan pengemasan data. Data yang berasal dari database, biasanya perlu dikonversi ke lain bentuk agar dapat diterima sebagai standard laporan pihak lain dalam bentuk standard dokumen. Salah satu bentuk standard dokumen adalah Excel. Sebelum ini juga pernah dipaparkan tentang pelaporan data dalam bentuk PDF (Portable Document Format). Excel atau worksheet dipercaya sebagai standard pelaporan, bahkan hampir semua program perkantoran (office) telah melakukan pembuatan dokumen yang standard dengan Workbook/Worksheet ini. Permasalahan para web developer salah satunya adalah melakukan exporting ke dalam format excel.

Dalam PHP, sebenarnya telah terdapat library khusus untuk melakukan proses data yang berkaitan dengan excel, yaitu dengan menggunakan fasilitas PEAR. Proses installasi PEAR sendiri kadang juga melalui masalah yang tidak kalah sulitnya dengan pembuatan script export SQL to XLS sendiri dimana data dapat di download dalam format excel. Oleh karena itu muncul beberapa cara untuk melakukan export data ke dalam bentuk excel.

Langkah paling mudah untuk menjadikan sebuah data ke dalam bentuk excel adalah dengan cara menyusun data sedemikian rupa hingga terdapat tabel dan baris, kemudian mengarahkan agar data tergenerate sebagai excel. Beberapa hal yang perlu diketahui adalah bahwa pindah baris dapat menggunakan perintah “\n”, dan tabel dapat langsung terbentuk ke dalam cell.

Contoh 1.

$title = "Contoh Excel Export";

$content = "

namabimosaurus
alamatwonosobo
nohp080808080
"; $content = $title . "\n" . $content; header("Content-type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=excel.xls"); header("Pragma: no-cache"); header("Expires: 0"); print $content;

 

Contoh hasilnya bisa diambil di sini

 

Contoh 2.

Contoh ini melibatkan data MySQL. Misal tabel yang ada adalah seperti berikut :

nip nama honor status_ambil
10001 Susanto Rp. 1000000 Belum
10002 Susanti Rp. 1000000 Sudah
10003 Marwoto Rp. 2000000 Sudah
10004 Gunadi Rp. 1500000 Belum
10005 Nur Eko Rp. 1000000 Belum


if( mysql_connect("localhost","user","password") ){
mysql_select_db("kepegawaian");
}


$title = "Exporting Sederhana dari SQL ke XLS";
$content_header = "";
$content_footer = "
NIPNamaJumlah HonorStatus Terima
"; $content_dalam = ""; $sql = "SELECT * FROM `pegawai`"; $q = mysql_query( $sql ); while( $r=mysql_fetch_array( $q ) ){ $data = "".$r['nip']."".$r['nama']."".$r['honor']."".$r['status_ambil'].""; $content_dalam = $content_dalam ."\n". $data; } $content_sheet = $title . "\n" . $content_header . "\n" . $content_dalam . "\n" . $content_footer; header("Content-type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=excel.xls"); header("Pragma: no-cache"); header("Expires: 0"); print $content_sheet;

 

Hasil dari contoh ini dapat diambil di sini

 

Nah, untuk sampai sini cukup mudah bukan? Hanya saja, format yang dihasilkan oleh model exporting ini tidak standard. Adakalanya ketika terdownload justru akan muncul script tabelnya. Untuk kondisi yang cukup standard, tunggu posting berikutnya..

 

Semoga berguna

Selanjutnya baca ini https://blogit.bimosaurus.com/2012/04/09/contoh-2-membuat-laporan-export-data-dari-mysql-ke-excel-terencoding-dengan-php-no-pear

[Contoh] Membuat Laporan PDF dengan PHP dan Database MySQL

Jika pada posting lalu (https://blogit.bimosaurus.com/2012/04/08/contoh-membuat-laporan-pdf-dengan-php/) telah terpaparkan tentang pembuatan laporan download PDF dengan menggunakan PHP, kali ini akan dibahas bagaimana menyusun reporting dengan PHP dalam format PDF yang susunan datanya diambil dari database MySQL. Tentu saja hal ini akan sangat berguna bagi para developer sistem informasi, karena pada umumnya sistem informasi harus memiliki proses reporting data. Proses pembuatan reporting PDF dengan menggunakan PHP ini dapat dilakukan dengan menggunakan FPDF seperti posting sebelumnya. Hanya saja prosesnya akan ditambah dengan proses pengambilan data dari database server MySQL. Proses ini tidak sulit, karena hanya menggabungkan pengambilan data, dan selanjutnya menampilkannya dalam bentuk PDF. Itu saja. Berikut contoh pengambilan data.
Katakan, kita memiliki tabel data pegawai dengan format seperti berikut:

nip nama honor status_ambil
10001 Susanto Rp. 1000000 Belum
10002 Susanti Rp. 1000000 Sudah
10003 Marwoto Rp. 2000000 Sudah
10004 Gunadi Rp. 1500000 Belum
10005 Nur Eko Rp. 1000000 Belum

Dengan format data demikian, maka pengambilan data dari dalam tabel dapat dilakukan dengan sintaks MySQL demikian :

SELECT * FROM `pegawai`

Begitu pula, sintaks ini akan dijadikan Query yang akan dieksekusi oleh PHP. Perkiraan Commandnya adalah sebagai berikut:

$sql      = "SELECT * FROM `pegawai`";
$query  = mysql_query( $sql );
while( $result=mysql_fetch_array( $query ) ){

//tampilkan

}
//telah diedit, hasil koreksi dari mas boyan_13@yahoo.co.id... tx

 

Dengan melakukan kombinasi perintah dengan pembuatan reporting PDF, maka dapat dibuat script seperti berikut:


ob_start();
define('FPDF_FONTPATH','libs/fpdf/font/');
require('libs/fpdf/fpdf.php');

if( mysql_connect( "localhost","reporting","reporting" ) ){
   mysql_select_db( "kepegawaian" );
}else{
   echo "maaf, data gagal";
}

class PDF extends FPDF {

function Header() {
$this->Image('logo_print.jpg',2,1,2);

	$this->SetFont('Arial','B',11);

	$this->Cell(0,0.75,' TUKANG HRD ',0,0,'C');

	$this->Ln();

	$this->SetFont('Arial','B',14);

	$this->Cell(0,0.75,'TOKO X',0,0,'C');

	$this->Ln();

	$this->SetFont('Arial','',9);

	$this->Cell(0,0.5,'Jl. Soekarno Hatta KM 100 Antar Bermuntah Telp (01234)123456',0,0,'C');

	$this->Ln();

	$this->Ln();
	$this->SetFont('Arial','',14);
	$this->Line(1, 4, 21, 4);

   $this->Ln();
	$this->SetFont('Arial','B',11);
   $this->Cell(0,0.75,'HRD',0,0,'C');

	$this->Ln();
}

}

	

$pdf=new PDF('P','cm','Letter');

$pdf->Open();

$pdf->AliasNbPages();

$pdf->AddPage();

$pdf->SetMargins(1.5,1,1.5);

$pdf->SetFont('Arial','B',12);


//membuat kop tabel
$x=$pdf->GetY();

$pdf->SetY($x+1);

$pdf->SetFont('Courier','B',10);

$pdf->Cell(5,0.5,'NIP',1,0,'L');
$pdf->Cell(5,0.5,'Nama',1,0,'L');
$pdf->Cell(5,0.5,'Honor',1,0,'L');
$pdf->Cell(5,0.5,'Status Ambil',1,0,'L');

//query dan arraying
$sql   ="SELECT * FROM `pegawai`";

$query = mysql_query( $sql );



while( $result= mysql_fetch_array( $query )){

   $nip = $result['nip'];
   $nama = $result['nama'];
   $honor = $result['honor'];
   $status_ambil = $result['status_ambil'];

   $pdf->SetFont('Courier','B',10);

   $pdf->Cell(5,0.5,'$nip',1,0,'L');
   $pdf->Cell(5,0.5,'$nama',1,0,'L');
   $pdf->Cell(5,0.5,'$honor',1,0,'L');
   $pdf->Cell(5,0.5,'$status_ambil',1,0,'L');
}


$pdf->Output();

Berikut kira-kira hasilnya akan seperti demikian : https://blogit.bimosaurus.com/demo/reporting.php

Semoga berguna

[Contoh] Membuat Laporan PDF dengan PHP

Salah satu bentuk output yang dibutuhkan oleh pengguna layanan web adalah sebuah laporan download dalam bentuk PDF. PDF (portable document format) adalah bentuk dokumen siap print. Dokumen berformat PDF sendiri dapat dibentuk dari PDF. Seperti pada posting sebelum ini telah dikenalkan sedikit mengenai fungsi library FPDF, dimana dengan beberapa command PHP dapat membuat dokumen berformat PDF. Berikut di sini akan dipaparkan beberapa perintah penting dengan satu contoh pembuatan laporan PDF dengan PHP.

Langkah pertama adalah, kita pastikan dulu bahwa library fpdf telah diinclude dengan baik dengan perintah semacam ini:

 

ob_start();
define('FPDF_FONTPATH','libs/fpdf/font/');
require('libs/fpdf/fpdf.php');

Selanjutnya kita perlu melakukan pemanggilan constructor Class PHP bernama FPDF yang terdapat pada library.Command yang digunakan contohnya adalah :

$pdf = new FPDF($posisi_halaman,$satuan,$jenis_kertas);

dengan

$posisi_halaman berisi : P (Portrait/tegak) atau L (Landscape/mendatar). Jika tidak diisi akan berisi P
$satuan : pt (point), mm (milimeter), cm (centimeter), in (inchi). Jika tidak diisi akan berisi mm
$jenis_kertas : A3, 4, A5, Letter, Legal (Perbedaan kapital karakter akan berpengaruh)

 

Selanjutnya melakukan pemanggilan fungsi dasar Open(); dan dilanjutkan dengan pembukaan halaman.

$pdf->Open();
$pdf->AddPage();

 

Selanjutnya, kita dapat memasukkan materi / isi dari dokumen tersebut dengan memanfaatkan fungsi-fungsi berikut:
SetFont($jenis_font,$tebalmiring,$ukuran);

Contoh :

$pdf->SetFont('Arial','B','14');

 

tentunya dengan font yang telah ada dalam library fpdf kita masing-masing. Font ini dapat ditambah.

 

Image($lokasi_gambar,$jarak_cm_dari_kiri,$jarak_cm_dari_atas,$tinggi_gambar,$panjang_gambar);

Contoh :

$pdf->Image('images/koding1.jpeg',17,1,3,3);
$pdf->Image('images/koding2.jpeg',17,4,3,3);
$pdf->Image('images/koding3.jpeg',17,7,3,3);

Cell($panjang_sel,$tinggi_sel,$isi_sel,$keterangan_border,$berapa_spasi,$margin);

Contoh:

$pdf->Cell(9.5,2,'Percobaan pembuatan PDF',1,0,'L');

Spasi yang dibentuk oleh $berapa_spasi, akan sesuai dengan $berapa_spasix$tinggi_sel

Margin dapat berisi : L(Left) C(Center) dan R(Right)

Keterangan Border akan terdapat border jika berisi angka bukan 0.
Ln();

Perintah pindah baris

$pdf->Ln();

 

Output();

Adalah perintah tampilkan ke layar

$pdf->Output();

 

 

Berikut contoh lengkap satu script PHP dasar untuk membuat pencetakan berbentuk PDF:

ob_start();

define('FPDF_FONTPATH','libs/fpdf/font/');

require('libs/fpdf/fpdf.php');

   $pdf=new FPDF('P','cm','Letter');

   $pdf->Open();

   $pdf->AddPage();

   $pdf->SetFont('Arial','B',12);

   $pdf->Image('images/koding1.jpeg',17,1,3,3);
   $pdf->Image('images/koding2.jpeg',17,4,3,3);
   $pdf->Image('images/koding3.jpeg',17,7,3,3);

   $pdf->SetFont('Arial','B',20);
   $pdf->Cell(9.5,2,'Latihan membuat PDF',1,0,'L');
   $pdf->Ln();
   $pdf->SetFont('Arial','B',14);
   $pdf->Cell(9.5,2,'Oleh bimosaurus.com',0,0,'L');
   $pdf->Ln();

   $pdf->Output();

 

Hasilnya adalah sebagai berikut : https://blogit.bimosaurus.com/demo/pdf.php

FPDF dapat di download di situs aslinya fpdf.org atau di sini langsung KLIK

Untuk laporan lanjut dapat dilihat di sini https://blogit.bimosaurus.com/2012/04/09/contoh-membuat-laporan-pdf-dengan-php-dan-database-mysql

Mengganti Path model GET dengan PATH_INFO

Seringkali dalam sebuah proses koding, seorang programmer merancang path seperti contoh berikut ini :

http://namaserver.com/index.php?module=satu&submodule=dua&aksi=baca&id=23

Sedang di kode PHP, akan ditangkap dengan kira-kira adalah seperti demikian:

$module = cleanstring( $_GET[module] );

$submodule = cleanstring( $_GET[submodule] );

$aksi = cleanstring( $_GET[aksi] )

$id = cleanstring( $_GET[id] );

Namun ternyata, path model demikian sebenarnya sangat tidak direkomendasikan di kalangan developer. Alasannya antara lain sebagai berikut:

  1. Tidak Search Engine Friendly. Search Engine lebih mudah melihat path seperti demikian : http://namaserver.com/kategori/subkategori/id/judul. Meski demikian sebenarnya masih bisa juga model GET tersebut disetting dengan menggunakan fasilitas mod_rewrite dari bawaan web server
  2. Alasan keamanan. Biasanya, sebuah mesin pencari bug SQL Injection, Remote File Inclusion, Local File Inclusion, Local File Executable akan lebih mudah menangkap bug dari model path dengan GET. Seperti misalnya adalah :
  3. Lebih mudah untuk dikatakan jika seseorang memberitahu rekannya tidak dengan posisi offline. Tentu akan lebih mudah mengatakan : “ada di halaman http://ini.com/artikel/baca/nomer” daripada “ada di halaman http://ini.com/?mod=artikel&aksi=baca&id=nomer”

PHP sebenarnya telah menyediakan sebuah model method untuk request halaman, salah satunya adalah

$_SERVER['PATH_INFO']

. Jika kita ketikkan di halaman PHP sebagai berikut:

$pathurl = $_SERVER['PATH_INFO'];

echo $pathurl;

Maka ketika halaman tersebut dibuka pada web server dengan url seperti ini : http://namaserver/artikel/baca/11 maka $pathurl nya adalah : /artikel/baca/11

 

Dengan demikian jika akan diuraikan pathurl tersebut maka bisa dilakukan dengan melakukan penambahan function explode, yang mengurai sesuatu string berdasar karakter tertentu menjadi array. Misal sebagai berikut:

 
$r_pathurl = explode("/",$pathurl);

print_r( $r_pathurl );

Maka pada web browser akan muncul sebagai berikut:

Array
(
    [0] =>
    [1] => artikel
    [2] => baca
    [3] => 11
)

Dengan memanfaatkan array tersebut, bagi yang terbiasa dengan GET method, akan dapat mengurai menjadi seperti demikian:

 

$module = cleanstring( $r_pathurl[1] );

$aksi = cleanstring( $r_pathurl[2] );

$id = cleanstring( $r_pathurl[3] );

 

Nah selanjutnya, kita bisa koding lagi seperti biasa. Perubahan hanya terjadi dengan mengganti GET method dari url, menjadi item array. Pada mod rewrite di htaccess, kita tinggal melakukan pembuangan kata index.php saja. Metode seperti inilah yang diterapkan oleh framework-framework PHP seperti CI, CakePHP, Yii dan lain sebagainya.

Tools Wajib Web Programmer PHP [Sisi Server]

Bagi para pemrogram script php, tentu akan sering berhadapan dengan pembuatan sistem informasi yang melibatkan banyak hal, seperti export-import data dari excel atau ke excel, print ke PDF, pembuatan grafik dalam bentuk image, dan berhadapan dengan beberapa database yang berbeda platform sekaligus. Tentu hal ini membutuhkan beberapa tools untuk men-generate format-format yang berbeda tersebut. Berikut, sedikit diulas mengenai tools wajib web programmer, menurut yang paling sering digunakan. Namun pembahasan ini tidak sepenuhnya berlaku bagi pemrograman web PHP berbasis framework seperti CI, CakePHP, DooPHP dan lain sebagainya.

 

1. ADODB

Anda dapat mengunduhnya di http://adodb.sourceforge.net/ . ADODB ini memungkinkan kita membuat sebuah koneksi dan query database dengan PHP, dengan tidak lagi mempedulikan apapun jenis database yang digunakan, seperti MySQL atau PostgreSQL dan lain sebagainya. Contoh penggunaan ADODB adalah sebagai berikut :

 

 

include('/path/to/adodb.inc.php');
$DB = NewADOConnection('mysql');
$DB->Connect($server, $user, $pwd, $db);

$rs = $DB->Execute("select * from table where key=?",array($key));
while (!$rs->EOF) {
    print_r($rs->fields);
    $rs->MoveNext();
}

$rs = $DB->Execute("select * from table where key=123");
while ($array = $rs->FetchRow()) {
    print_r($array);
}

# Alternative URI connection syntax:
$DB = NewADOConnection("mysql://$user:$pwd@$server/$db?persist");

# No need for Connect or PConnect when using URI syntax

$ok = $DB->Execute("update atable set aval = 0");
if (!$ok) mylogerr($DB->ErrorMsg());

Jika suatu ketika diperlukan memnggunakan jenis database yang berbeda, maka tinggal melakukan pengubahan pada NewADOConnection. Proses query pun tinggal dilakukan dengan $DB->Execute();

 

2. FPDF

Silakan mengunduh di http://www.fpdf.org/ . Anda sangat mungkin membuat laporan berbasis PDF. Dengan menggunakan PDF ini, anda tidak perlu risau pemrograman PHP anda kalah dalam pembuatan laporan jika dibanding desktop. Semuanya telah mungkin.

Contoh pembuatan laporan PDF adalah sebagai berikut:

 

require('fpdf.php');

$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();

Dengan FPDF ini, anda dapat membuat sebuah proses jualan online, dan dengan laporan yang standard PDF. FPDF ini juga sangat mungkin untuk menyelipkan gambar, misalnya diperlukan menyertakan sebuah logo dari perusahaan atau dinas.

 

3. Excel Reader

Anda dapat mendownload file ini dari sini http://code.google.com/p/php-excel-reader/downloads/detail?name=php-excel-reader-2.21.zip. Dengan menggunakan excel reader seperti inti, kita dapat melakukan inject database dari excel sekaligus. Untuk rekan-rekan yang biasa menggunakan SMS Gateway, proses inject SMS dengan data yang berasal dari excel dapat dilakukan dengan tinggal melakukan Upload Excel, dengan field-field yang telah ditentukan.

Contoh penggunaan excel reader adalah sebagai berikut:

 

include ('excel_reader2.php');
$data       = new Spreadsheet_Excel_Reader($_FILES['upfile_bulanan']['tmp_name']);

for ( $i=1; $ival($i,1);
$nama  = $data->val($i,2);
echo $nomer . " " .$nama;
}

Nah, tinggal pasang query, dan inject data. Spreadsheet selebar apapun dan sepanjang apapun bisa diinject sekali jalan.

 

4. JPGraph.

Dengan Jpgraph kita mampu melakukan generate gambar/image dari perintah PHP. Dengan JPGraph ini anda mampu melakukan hal-hal berikut ini :

  • Antispam
  • Grafik bentuk pie, bar, line, chart dan lain sebagainya
  • Watermark gambar yang lain (menumpuki gambar dengan kata-kata lain untuk proteksi kepemilikan)

Anda dapat mendownload source tersebut dari sini http://jpgraph.net/. Salah satu bentuk penggunaanya adalah sebagai berikut:

 

include "modul/jpgraph.php";
include "modul/jpgraph_line.php";

$rdatax = array(1,2,3,4,5,6,7,8);
$rdatay = array(2,4,6,8,10,12,14,16);

$graph = new Graph(300,200,"auto");
$graph->SetScale("textlin");
$lineplot=new LinePlot($rdatax);
$graph->Add($lineplot);
$graph->img->SetMargin(50,30,30,50);
$graph->title->Set("Grafik Contoh");
$graph->xaxis->title->Set("Sumbu X");
$graph->yaxis->title->Set("Sumbu Y");
$graph->xaxis->SetTickLabels($rdatay);
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$lineplot->SetColor("blue");
$graph->SetShadow();
$graph->Stroke();

Jpgraph akan mengubah array yang ada menjadi grafik dalam bentuk Line, Pie atau Bar seperti berikut ini :

 

Sebenarnya masih banyak tools-tools yang dapat diceritakan disini, namun tahap pertama ini adalah empat besar tools yang sering digunakan. Untuk lebih jelas dapat dipelajari sendiri di : http://pear.php.net/index.php