Membuat laporan PHP ke Microsoft Word

Bagi kita susah menerpkan format isian dalam bentuk word dokumen untuk surat ijin. Terkadang kita membuatkan format namun dalam bentuk word dan sering hilang. Untuk mengatasi tersebut kita dapat membuatkan program sederhana menggunakan pemrograman web berbasis PHP kemudian outpot berupa dokumen dalam format Microsoft Word.

Mungkin dari kalian semua banyak sekali yang menggunakan cetak manual. Berbeda dengan hal tersebut. Cara yang satu ini lebih instan.

Berikut beberapa cara untuk membuat export word:

1. Buat lah format dokumen yang ingin anda cetak dalam bentuk dokumen dengan ekstensi (.rtf).
2. Buatlah sebuah file php dengan membuat sebuah form didalamnya dengan field yang diinginkan. Berikut Script membuat form laporan, Simpan dengan nama index.php.
<html>
<head><title></title></head>
<body>
<form action="surat.php" method="POST">
 <table>
  <tr>
   <td>Nama Siswa</td><td> : </td><td><input type="text" name="nama" /></td>
  </tr>
  <tr>
   <td>Kelas</td><td> : </td><td><input type="text" name="kelas" /></td>
  </tr>
  <tr>
  <tr>
   <td>Alamat</td><td> : </td><td><input type="text" name="alamat" /></td>
  </tr>
  <tr>
   <td>Hari, Tanggal</td><td> : </td><td><input type="text" name="tanggal" /></td>
  </tr>
  <tr>
  <tr>
   <td>Nama Orang Tua/Wali</td><td> : </td><td><input type="text" name="wali" /></td>
  </tr>
   <td colspan=3><input type="submit" value="Print"/></td>
  </tr>
 </table>
</form>
</body>
</html>
Tampilannya akan seperti dibawah ini.
3.Setelah itu kita akan membuat fungsi cetak laporan. Berikut script php nya, Simpan dengan nama surat.php
<?php
// membaca data dari form
$nama = $_POST['nama'];
$kelas = $_POST['kelas'];
$alamat = $_POST['alamat'];
$tanggal = $_POST['tanggal'];
$wali = $_POST['wali'];
// memanggil dan membaca template dokumen yang telah kita buat
$document = file_get_contents("surat.rtf");
// isi dokumen dinyatakan dalam bentuk string
$document = str_replace("#NAMA", $nama, $document);
$document = str_replace("#KELAS", $kelas, $document);
$document = str_replace("#ALAMAT", $alamat, $document);
$document = str_replace("#TANGGAL", $tanggal, $document);
$document = str_replace("#WALI", $wali, $document);
// header untuk membuka file output RTF dengan MS. Word
header("Content-type: application/msword");
header("Content-disposition: inline; filename=suratIjin.doc");
header("Content-length: ".strlen($document));
echo $document;
?>
4. kemudian jalankan script diatas pada browser anda.
Hasilnya seperti gambar dibawah ini
Semoga berhasil dan bermanfaat. jika terjadi kesalahan atau pertanyaan bisa anda tinggalkan pada kolom komentar dibawah ini.
Full code silahkan download disini

43 comments for "Membuat laporan PHP ke Microsoft Word"

  1. min, kl yg diwordnya checkbox gimana ya?, thanks sebelumnya buat ilmunya

    ReplyDelete
    Replies
    1. Min, sorry diluar materi ini, kl abis diconvert gini mau dikirim ke email itu gimana ya?

      Delete
    2. bisa ditambahkan script send email, syaratnya server harus support fake email atau smtp

      Delete
    3. Ada referensi kah min? karena saya cari blm dapat dapat

      Delete
    4. alurnya sprti itu, kalau code belum sempet buat

      Delete
  2. bang bikinkan tutorial bang cara phpmysql word please.butuh nih untuk tugas kuliah

    ReplyDelete
    Replies
    1. insert dlu data ke mysql, ke word pakai method get

      Delete
  3. Selamat malam para master.. Tutor nya bagus n hemat coding.. Tp seandainya mencetak lebih dari satu data itu gmn.. Jd pd saat di print halaman dinword terbentuk dari bnyknya databtabel... Mohon bantuannya... Krn lg butuh utk buat kasus cetak daftar kolektif pendaftaran... Imel saya : feryisniady@gmail.com

    ReplyDelete
    Replies
    1. Langkahnya buat database terlebih dahulu kemudian dicetak berdasarkan looping data

      Delete
  4. Bang, ini udah di coba 4 form tapi yg tampil ke word cuman 2 form aja. Yg 2 nya gak kebaca padhal sama kodingannya. Versi php dan xampp yg saya gunakan versi 7 keatas.

    ReplyDelete
  5. action = surat.php itu nge link ke file mana ya min?

    ReplyDelete
  6. Min, mau tanya.. jika halaman yang kita buat lebih dari satu halaman bagaimana..?
    saya coba dua halaman.. tapi di halaman ke dua datanya tidak muncul..

    terima kasih

    ReplyDelete
    Replies
    1. Seharusnya sama, nanti saya coba buat tutorial lanjutannya

      Delete
  7. min, output file wordnya isinya code file rtf bukan template, ada salah dimana ya kira2? solusinya

    ReplyDelete
  8. min klo untuk gambar tinggal kidding sec image atau ada tambahan lainnya ?

    ReplyDelete
  9. min klo kita kasih gambar kodingnya pke img sec atau beda lgi ?

    ReplyDelete
  10. Izin dpt file nya gan buat belajar boogablank@gmail.com ane susah download file nya

    ReplyDelete
  11. Maaf mas jika dr template di rubah ke pdf saat print gmn ya

    ReplyDelete
  12. bagaimana caranya jika saya menggunakan php 7.2?

    ReplyDelete
  13. bang untuk downloadnya kok ada passwordnya ya?

    ReplyDelete
  14. bang, kok pas link downloadnya ada passwordnya ya?

    ReplyDelete
  15. Kalo namanya mau diubah fontnya gmn gan?

    ReplyDelete
  16. kodingnya gk bisa di download ya?
    ku pakai php 7.3 gak berhasil, hasil di wordnya seperti ini:
    {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31506\stshfloch0\stshfhich0\stshfbi31507\deflang1033\deflangfe1033\themelang1057\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;} {\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose

    ReplyDelete
  17. saya coba pakai PHP 7.3 kok gak berhasil ya, maksudnya hasil di word nya tampil pesan banyak
    saya coba downloa file unduhan gk bisa juga

    ReplyDelete
  18. gan kalau menambahkan koneksi ke Database mysql gmn ya? ini saya coba jadi error file wordnya

    ReplyDelete

Post a Comment