Halo sahabat, mungkin sebagian kita masih agak bingung bagaimana cara membuat laporan dalam format .doc atau .rtf yang bisa di buka di Microsoft Word. Sebenarnya anda bisa menggunakan library khusus sepert PHP Word. Pada kesempatan ini kita akan membuat laporan dalam format RTF dengan cara manual, tanpa bantuan library.
Sebelum lebih jauh, apa itu .rtf ? .rtf merupakan salah satu ektensi yang bisa kita jalankan menggunakan MS Word pada windows. Jadi mirip dengan .doc. RTF merupakan singkatan dari Rich Text Format. Dalam tutorial ini akan dibahas tentang cara menuliskan data kedalam dokumen rtf. Metodenya mirip dengan mail merge ms word dimana ada kata / field tertentu yang akan di ubah dengan string dari database.
Membuat laporan dalam format RTF
Cara yang kita gunakan yaitu kita akan membuka file laporan yang telah disedikan dan akan melakukan penggantian string yang telah ditentukan dengan data yang kita ambil dari database.
1. Struktur folder. Berikut ini adalah struktur folder yang harus anda siapkan
2. Membuat template file laporan berformat rtf.
Untuk membuat laporan, pertama kita siapkan dulu template file rtf nya. Caranya buka MS Word anda, dan buatlah file laporan seperti pada contoh berikut ini.
Kemudian simpanlah file tersebut dalam format .rtf, dengan cara Save As dan pada save as type nya pilih Rich Text Format. Simpan dalam folder rtf/template.
Catatan : pada kolom ketiga, string harus unique karena string tersebut yang nantinya akan direplace. Jadi jangan menggunakan string yang umum misalnya alamat, nama atau yang lain. Tambahkan karakter sendiri agar unique. Pada contoh saya menambahkan ‘data_’.
3. Dalam folder project rtf buatlah file index.php dengan kode sbb:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?php //buka file rtf $template = "template/format_laporan.rtf"; $handle = fopen($template, "r+"); $hasilbaca = fread($handle, filesize($template)); fclose($handle); //nilai yang akan dituliskan dalam template //pada praktek sebenarnya anda bisa mengambil data dari database $data_nama = 'Hari Prasetyo'; $data_dob = '12-12-2012'; $data_alamat = 'Jakarta, Indonesia'; $data_tgl_cetak = date('d-m-Y H:i:s'); //tuliskan data dalam template $hasilbaca = str_replace('data_nama', $data_nama, $hasilbaca); $hasilbaca = str_replace('data_dob', $data_dob, $hasilbaca); $hasilbaca = str_replace('data_alamat', $data_alamat, $hasilbaca); $hasilbaca = str_replace('data_tgl_cetak', $data_tgl_cetak, $hasilbaca); //membuat file baru dari hasil baca $hasil = "hasil/hasil_laporan.rtf"; $handle = fopen($hasil, "w+"); fwrite($handle, $hasilbaca); fclose($handle); //membuka file hasil secara langsung //header('Location:'.$hasil); //atau membuka file melalui link echo '<a href="'.$hasil.'">Hasil</a>' ?> |
Jalankan file index.php tersebut menggunakan browser anda dan lihatlah hasilnya, maka akan tercipta file .rtf dengan format yang telah ditentukan. Anda bisa membuka file tersebut menggunakan MS Word.
Berikut ini adalah hasilnya
Demikianlah cara membuat laporan dalam format rtf / doc. Sangat mudah bukan, silahkan dikembangkan lebih lanjut. Terimakasih telah berkunjung ke harviacode.com. Jangan lupa di like dan di share ya. Pada artikel berikut nya kita akan membuat laporan untuk ms word dengan data yang banyak (dengan looping).
bisa diaplikasikan menggunakan codeigniter gak? klo bisa mohon tutorialnya. makasih banyak.
Warning: fopen(hasil/hasil_laporan.rtf): failed to open stream: No such file or directory in C:\xampp\htdocs\rtf\index.php on line 20
Warning: fwrite() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\rtf\index.php on line 21
Warning: fclose() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\rtf\index.php on line 22