mencetak data ke word atau excell dengan php

18
Mencetak Data Ke Word atau Excell dengan PHP Mungkin ada sebagian di antara kalian yang memikirkan bagaimana caranya mencetak data yang telah kita buat dengan PHP ke dalam bentuk Word atau Excel. Nah setelah membaca posting-an ini mudah- mudahan kalian bisa membuat aplikasi yang nantinya dapat di gunakan tidak hanya menampilkan data di browser tapi dapat juga mencetaknya ke kertas dengan printer anda. Yuk langsung aje… Pertama buat direktori/ folder kerja baru di dalam direktori htdocs untuk menyimpan file php yang akan kita buat, beri saja nama latihan, karena saya menggunakan XAMPP maka saya mempunyai struktur direktori sebagai berikut à c:\xampp\htdocs\latihan. Biar lebih seru prakteknya, mari kita gunakan database, ilustrasinya nanti kita akan membuat aplikasi dimana kita melakukan input data siswa lalu mencetaknya ke kertas dengan media printer melalui word atau excel. Membuat Database Buatlah database dengan MySQL, beri nama db_latihan, karena kita akan membuat aplikasi data siswa buatlah sebuah table dengan nama tsiswa. CREATE TABLE `db_latihan`.`tsiswa` ( `nis` CHAR( 3 ) NOT NULL PRIMARY KEY , `nama_siswa` CHAR( 50 ) NOT NULL ) Dengan memiliki dua field yakni field nis yang akan menampung data nomor induk siswa dengan tipe data char panjangnya 3 karakter dan field ini adalah merupakan primary key. Lalu field

Upload: mukidin

Post on 19-Jun-2015

1.763 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: Mencetak Data Ke Word Atau Excell Dengan PHP

Mencetak Data Ke Word atau Excell dengan PHPMungkin ada sebagian di antara kalian yang memikirkan bagaimana caranya mencetak data yang telah kita buat dengan PHP ke dalam bentuk Word atau Excel. Nah setelah membaca posting-an ini mudah-mudahan kalian bisa membuat aplikasi yang nantinya dapat di gunakan tidak hanya menampilkan data di browser tapi dapat juga  mencetaknya ke kertas dengan printer anda.

Yuk langsung aje…

Pertama buat direktori/ folder kerja baru di dalam direktori htdocs untuk menyimpan file php yang akan kita buat, beri saja nama latihan, karena saya menggunakan XAMPP maka saya mempunyai struktur direktori sebagai berikut à c:\xampp\htdocs\latihan.

Biar lebih seru prakteknya, mari kita gunakan database, ilustrasinya nanti kita akan membuat aplikasi dimana kita melakukan input data siswa lalu mencetaknya ke kertas dengan media printer melalui word atau excel.

Membuat Database

Buatlah database dengan MySQL, beri nama db_latihan, karena kita akan membuat aplikasi data siswa buatlah sebuah table dengan nama tsiswa.

CREATE TABLE `db_latihan`.`tsiswa` (

`nis` CHAR( 3 ) NOT NULL PRIMARY KEY ,

`nama_siswa` CHAR( 50 ) NOT NULL

)

Dengan memiliki dua field yakni field nis yang akan menampung data nomor induk siswa dengan tipe data char panjangnya 3 karakter dan field ini adalah merupakan primary key. Lalu field yang kedua adalah nama_siswa yang akan menampung data nama siswa dengan tipe data char dan panjang 50 karakter.

Membuat File Koneksi Database

Apabila kita membuat suatu aplikasi yang besar, dimana di dalamnya terdapat begitu banyak file maka perlu anda coba teknik modularisasi, yakni membuat modul-modul dimana modul ini akan digunakan di hampir setiap file dalam suatu aplikasi, sehingga kita tidak mengetikan code skrip secara berulang-ulang, ini juga bermanfaat untuk pemeriksaan kesalahan. Contohnya file koneksi database ini hehe..

Page 2: Mencetak Data Ke Word Atau Excell Dengan PHP

Skrip koneksi database

<?

$server = “localhost”;

$username = “root”;

$password = “”;

$database = “db_latihan”;

// Koneksi dan memilih database di server

mysql_connect($server,$username,$password) or die(“Koneksi gagal”);

mysql_select_db($database) or die(“Database tidak bisa dibuka”);

?>

Simpan skrip itu dengan nama koneksidb.php ke dalam folder latihan.

Membuat Form Untuk Memasukan Data

Buatlah suatu form yang akan kita gunakan untuk melakukan input data siswa ke dalam database, buat saja secara sederhana kira-kira seperti gambar di bawah ini lah tampilannya.

Gambar 1

Berikut adalah skripnya lalu beri nama input_data.php

<html>

<head>

<title>::: INPUT DATA</title>

</head>

Page 3: Mencetak Data Ke Word Atau Excell Dengan PHP

<script>

function strTrim(Str) {

return Str.replace(‘/^\s+/’,”).replace(‘/\s+$’,”);

}

function checkText(arE, arTxt) {

var f = document.frmAdd;

for (i=0; i<arE.length;i++) {

if (strTrim(f[arE[i]].value) == ”) {

alert(arTxt[i]);

f[arE[i]].focus();

return false;

}

}

return true;

}

function checkForm() {

var arE = new Array(‘txtNama‘);

var arTxt = new Array(‘Masukkan Nama Siswa‘);

var f=document.frmAdd;

if (!checkText(arE, arTxt)) {

}

else if (confirm(‘Simpan data?’)) {

f.submit();

Page 4: Mencetak Data Ke Word Atau Excell Dengan PHP

}

}

</script>

<body>

INPUT DATA SISWA

<form”>frmAdd” method=”post” action=”proses_input.php”>

<table>

<tr>

<td>Nama Siswa</td>

<td align=”center”>:</td>

<td>

<input type=”text”">txtNama” size=”30″>

</td>

</tr>

<tr>

<td colspan=”3″ align=”right”>

<input type=”button” value=”Simpan” onClick=”checkForm()” style=”background-color:#FFFFFF; font-family:Forte; color:#000000″>

<input type=”button” value=”Kembali” onClick=”history.go(-1)” style=”background-color:#FFFFFF; font-family:Forte; color:#000000″>

</td>

</tr>

</table>

</form>

Page 5: Mencetak Data Ke Word Atau Excell Dengan PHP

</body>

</html>

Perhatikan baris skrip yang di cetak tebal, ketika button Simpan di klik maka akan memeriksa fungsi checkForm() (onClick=”checkForm()“).

function checkForm() {

var arE = new Array(‘txtNama‘);

var arTxt = new Array(‘Masukkan Nama Siswa‘);

Jika field nama siswa (<input name=”txtNama” size=”30″>) tidak di isi maka muncul alert “Masukkan Nama Siswa”. Jika tidak maka akan muncul alert submit “Simpan Data” yes or no ((confirm(‘Simpan data?’)) dst..), klik tombol yes maka proses isian form akan di lanjutkan.

Gambar 2

Membuat File Proses Input Data

Berikut ini adalah skrip untuk proses input data beri saja nama proses_input.php :

<?

include ‘koneksidb.php’;

$urut=1;

$nis=sprintf(“%’03d”,substr($fetch[0],3)+$urut);

$q1=”SELECT nis FROM tsiswa”;

$r1=mysql_query($q1);

while($fetch=mysql_fetch_array($r1)){

$urut++;

Page 6: Mencetak Data Ke Word Atau Excell Dengan PHP

$nis=sprintf(“%’03d”,substr($fetch[0],3)+$urut);

}

$q=”INSERT into tsiswa (nis,nama_siswa) VALUES (‘$nis’,’$_POST[txtNama]‘)”;

$res=mysql_query($q);

?>

<script>

alert(‘data sudah disimpan’);

location.href=’index.php’;

</script>

Perhatikan baris di bawah ini

………….

$urut=1;

$nis=sprintf(“%’03d”,substr($fetch[0],3)+$urut);

$q1=”SELECT nis FROM tsiswa”;

$r1=mysql_query($q1);

while($fetch=mysql_fetch_array($r1)){

$urut++;

$nis=sprintf(“%’03d”,substr($fetch[0],3)+$urut);

}

………….

Baris tersebut berfungsi untuk membuat nis atau nomor induk siswa menjadi 001 pada data pertama, 002 pada data ke dua dan seterusnya.

Membuat Form Untuk Menampilkan Data

Page 7: Mencetak Data Ke Word Atau Excell Dengan PHP

Setelah data di input, kita memerlukan sebuah form untuk menampilkan hasil data yang kita input, beri nama file ini dengan index.php, berikut skrip file ini :

<?

include ‘koneksidb.php’;

$q=”SELECT * FROM tsiswa ORDER BY nis”;

$res=mysql_query($q);

?>

<html>

<head>

<title>::: DATA SISWA</title>

</head>

<body>

<p>DATA SISWA</p>

<p>

<input type=”button” value=”Tambah data” onClick=”location.href=’input_data.php’” style=”background-color:#FFFFFF; font-family:Forte; color:#000000″>

&nbsp;

<span style=”font-family:Verdana, Arial, Helvetica, sans-serif; font-size:x-small; color:#0033FF”>

<a href=”cetak_word.php” target=”_blank”>[cetak word]</a>

</span>

<span style=”font-family:Verdana, Arial, Helvetica, sans-serif; font-size:x-small; color:#0033FF”>

<a href=”cetak_excel.php” target=”_blank”>[cetak excel]</a>

</span>

Page 8: Mencetak Data Ke Word Atau Excell Dengan PHP

</p>

<p>

<table border=”1″ style=”border-style:solid”>

<tr align=”center” style=”font-family:Geneva, Arial, Helvetica, sans-serif; font-size:medium”>

<th>No</th>

<th>NIS</th>

<th>Nama Siswa</th>

</tr>

<?

$no=1;

if(mysql_num_rows($res)){

while($row=mysql_fetch_array($res)){

?>

<tr style=”font-family:Geneva, Arial, Helvetica, sans-serif; font-size:x-small”>

<td align=”center”><?=$no?>.</td>

<td><?=$row['nis']?></td>

<td><?=$row['nama_siswa']?></td>

</tr>

<?

$no++;

}

} else {

?>

Page 9: Mencetak Data Ke Word Atau Excell Dengan PHP

<tr>

<td colspan=”3″ align=”center”> <span style=”font-family:Verdana, Arial, Helvetica, sans-serif; color:#FF0000; font-size:x-small”>– Tidak ada data–</span></td>

</tr>

<?

}

?>

</table>

</p>

</body>

</html>

Sehingga halaman ini akan mempunyai tampilan seperti gambar di bawah ini

Gambar 3

Klik tambah data untuk melakukan input data siswa, klik cetak word untuk mencetak dalam format MS Word dan klik cetak excel untuk mencetak dengan format MS Excel. Gambar di atas menunjukkan bahwa belum ada data yang di input maka muncul tulisan Tidak ada data.

Mencetak Dengan Word

Tentunya file ini akan di gunakan untuk mencetak data di layar dengan format MS WORD, setelah di klik cetak word pada halaman index maka akan di jalankan file ini. Berikut adalah skripnya lalu beri nama cetak_word.php

Page 10: Mencetak Data Ke Word Atau Excell Dengan PHP

<?

header(“Expires: Mon, 26 Jul 2001 05:00:00 GMT”);

header(“Last-Modified: ” . gmdate(“D, d M Y H:i:s”) . ” GMT”);

header(“Cache-Control: no-store, no-cache, must-revalidate”);

header(“Cache-Control: post-check=0, pre-check=0″, false);

header(“Pragma: no-cache”);

header(“Cache-control: private”);

header(“Content-Type: application/vnd.ms-word; name=’word’”);

header(“Content-disposition:  attachment; filename=Data Siswa.doc”);

?>

<?

include ‘koneksidb.php’;

$q=”SELECT * FROM tsiswa ORDER BY nis”;

$res=mysql_query($q);

?>

<table border=”1″ style=”border-style:solid”>

<tr align=”center” style=”font-family:Geneva, Arial, Helvetica, sans-serif; font-size:medium”>

<th>No</th>

<th>NIS</th>

<th>Nama Siswa</th>

</tr>

<?

$no=1;

Page 11: Mencetak Data Ke Word Atau Excell Dengan PHP

if(mysql_num_rows($res)){

while($row=mysql_fetch_array($res)){

?>

<tr style=”font-family:Geneva, Arial, Helvetica, sans-serif; font-size:x-small”>

<td align=”center”><?=$no?>.</td>

<td><?=$row['nis']?></td>

<td><?=$row['nama_siswa']?></td>

</tr>

<?

$no++;

}

} else {

?>

<tr>

<td colspan=”3″ align=”center”> <span style=”font-family:Verdana, Arial, Helvetica, sans-serif; color:#FF0000; font-size:x-small”>– Tidak ada data–</span></td>

</tr>

<?

}

?>

</table>

Mencetak dengan Excel

Berikut skripnya beri nama cetak_excel.php:

<?

Page 12: Mencetak Data Ke Word Atau Excell Dengan PHP

header(“Expires: Mon, 26 Jul 2001 05:00:00 GMT”);

header(“Last-Modified: ” . gmdate(“D, d M Y H:i:s”) . ” GMT”);

header(“Cache-Control: no-store, no-cache, must-revalidate”);

header(“Cache-Control: post-check=0, pre-check=0″, false);

header(“Pragma: no-cache”);

header(“Cache-control: private”);

header(“Content-Type: application/vnd.ms-excel; name=’excel’”);

header(“Content-disposition:  attachment; filename=data siswa.xls”);

?>

<?

include ‘koneksidb.php’;

$q=”SELECT * FROM tsiswa ORDER BY nis”;

$res=mysql_query($q);

?>

<table border=”1″ style=”border-style:solid”>

<tr align=”center” style=”font-family:Geneva, Arial, Helvetica, sans-serif; font-size:medium”>

<th>No</th>

<th>NIS</th>

<th>Nama Siswa</th>

</tr>

<?

$no=1;

if(mysql_num_rows($res)){

Page 13: Mencetak Data Ke Word Atau Excell Dengan PHP

while($row=mysql_fetch_array($res)){

?>

<tr style=”font-family:Geneva, Arial, Helvetica, sans-serif; font-size:x-small”>

<td align=”center”><?=$no?>.</td>

<td><?=$row['nis']?></td>

<td><?=$row['nama_siswa']?></td>

</tr>

<?

$no++;

}

} else {

?>

<tr>

<td colspan=”3″ align=”center”> <span style=”font-family:Verdana, Arial, Helvetica, sans-serif; color:#FF0000; font-size:x-small”>– Tidak ada data–</span></td>

</tr>

<?

}

?>

</table>

Skripnya memang hampir sama yang membedakan adalah hanya blok header (lihat yang di cetak tebal).

Mari kita Coba

Selanjutnya mari kita coba jalankan skrip-skrip yang telah kita buat, buka browser anda ketikan http://localhost/latihan maka akan muncul halaman index, di situ klik tambah data, lalu akan

Page 14: Mencetak Data Ke Word Atau Excell Dengan PHP

muncul form pengisian data. Isikan data siswa satu persatu lalu klik simpan. Maka halaman index akan menampilkan data-data yang telah anda inputkan.

Gambar 4

Lalu coba klik cetak word, maka akan muncul kotak dialog download file klik saja Open untuk membuka file word nya atau jika anda ingin menyimpannya dahulu klik tombol Save, tombol Cancel untuk menutup atau membatalkan.

Page 15: Mencetak Data Ke Word Atau Excell Dengan PHP

Gambar 5

Dan tampilan di word nya adalah seperti gambar di bawah ini

Gambar 6

Nah dari sini kan anda dapat melakukan pencetakan ke kertas dengan media printer hehe. Bagaimana dengan yang excel, coba saja di klik cetak excel.

Page 16: Mencetak Data Ke Word Atau Excell Dengan PHP

Gambar 7

Selesai sudah, sekarang tinggal di kembangkan saja imajinasi anda untuk membuat tampilan yang lebih bagus lagi, karena ini hanya untuk pembelajaran maka tampilannya di buat se-sederhana mungkin. Sekian dari saya selamat mencoba guys!!