(ninjaforms.com)
Selamat Pagi dan selamat beraktifitas
Pagi ini saya akan memberikan sedikit ilmu pada teman-teman semua. Ilmu apa?
Ilmu bagaimana meng-export data dari database kemudian dijadikan ke dalam bentuk excel (.xls)
Export ke excel adalah suatu fitur yang penting untuk report data pada aplikasi. Kebanyakan aplikasi yang pernah saya buat ada fitur export excel dikarenakan suatu keharusan dan keinginan dari client sendiri. Banyak cara yang dapat dilakukan untuk export ke excel, antara lain menggunakan plugin dan no plugin.
Di tutorial kali ini kita akan mencoba yang no plugin. Maksudnya apa?
Maksudnya ketika kita membuat repot ke excel kita tidak menggunakan dukungan pihak ketiga(phpexcel, dll). Kita hanya memanfaatkan syntax yang sudah ada pada php.
Keuntungan apa yang kita dapat ketika menggunakan no plugin?Keuntungannya antara lain mudah, cepat, simpel. Artinya menggunakan no plugin tidak ada option-option yang begitu rumit dan menggunakannya juga sangat mudah. Teman-teman tidak harus menulis banyak kode untuk melakukan export.Setelah membahas keuntungan pastinya ada kekurangan yang kita dapat, ayo kita bahas bersama
Kekurangan apa yang kita dapat ketika menggunakan no plugin?Kekurangannya adalah kita tidak dapat berkreasi banyak ketika menggunakan no plugin. Artinya teman-teman ketika ingin membuat style lain seperti SUM(), AVG() itu tidak bisa. Teman-teman bisa menggunakan plugin ketiga untuk membuat seperti itu.Oke, setelah kita membahas keuntungan dan kekurangan yang kita dapat, selanjutnya kita membahas apa saja yang kita butuhkan.
Pertama, harus mempunyai Web Server(Apache, Nginx dll), MySQL, Text Editor(Sublime, Notepad++), Browser(Firefox, Chrome)
Langsung dalam pembuatan
1. Buat database baru, contoh dengan nama perpus
create database perpus;2. Membuat tabel buku
CREATE TABLE IF NOT EXISTS `buku` (3. Setelah membuat tabel, silahkan masukan beberapa contoh data
`kode` int(6) NOT NULL AUTO_INCREMENT,
`nama_buku` varchar(100) DEFAULT NULL,
`pengarang` varchar(100) DEFAULT NULL,
`penerbit` varchar(100) DEFAULT NULL,
PRIMARY KEY (`kode`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
INSERT INTO `buku` (`kode`, `nama_buku`, `pengarang`, `penerbit`) VALUES4. Jika teman-teman menggunakan lampp/ xampp, pastikan apache dan mysql sudah dalam keadaan running. Kemudian masuk ke folder htdocs dan buat folder untuk proyek kita, misal kita beri nama reportexcel kemudian buat file index.php fungsinya untuk menampilkan data dari tabel buku. Buat folder include, kemudian buat file connection.php fungsinya untuk melakukan koneksi ke database dan melakukan query.
(1, 'Membuat Website secara mudah', 'Nur Khalis', 'Media Nusantara'),
(2, 'Membuat Aplikasi Android secara mudah', 'Nur Khalis', 'Media Nusantara'),
(3, 'Blogging hebat!!', 'Nur Khalis', 'Media Nusantara'),
(4, 'Mudah membuat tema wordpress', 'Nur Khalis', 'Media Nusantara'),
(5, 'Mudah membuat tema blogger', 'Nur Khalis', 'Media Nusantara');
5. Tahap coding, buka file connection.php dan masukan kode berikut
<?php
class Connection {
public function __construct() {
// koneksi ke database
$this->db = new PDO('mysql:host=localhost;dbname=perpus','root','');
// host, database, username, password
}
public function showData() {
// query ke tabel buku
$sql = "SELECT * FROM buku";
$query = $this->db->query($sql);
return $query;
}
}
?>
kemudian buka file index.php dan masukan kode berikut
<!DOCTYPE html>
<html>
<head>
<title>Export data No Plugin</title>
</head>
<body>
<h2>Daftar Buku pada Perpustakaan Media Nusantara</h2>
<table border="1">
<tr>
<th>No</th>
<th>Nama Buku</th>
<th>Pengarang</th>
<th>Penerbit</th>
</tr>
<?php
require 'include/connection.php';
$con = new Connection();
$lib = $con->showData();
$no = 1;
// melakukan looping
while ($data = $lib->fetch(PDO::FETCH_OBJ)) {
?>
<tr>
<td><?php echo $no; ?></td>
<td><?php echo $data->nama_buku; ?></td>
<td><?php echo $data->pengarang; ?></td>
<td><?php echo $data->penerbit; ?></td>
</tr>
<?php
$no++;
}
?>
</table>
<p>
<footer>
By Maful Prayoga Arnandi visit <a href="http://mafulprayogaarnandi.blogspot.com/" target="_blank">blog</a>
</footer>
</p>
</body>
</html>
6. Setelah kita mengakses poryek kita, hanya muncul beberapa data saja. Dan bagaimana export ke excelnya?Jawabannya adalah kita menambahkan beberapa baris kode untuk export ke excel tanpa plugin tambahan. Oke, buka lagi file index.php dan tambahkan kode berikut di baris paling atas
<?php
header("Content-type: application/vnd-ms-excel");
header("Content-Disposition: attachment; filename=Export-Data-Buku");
?>
Sekarang coba kita akses kembali file proyek kita maka browser akan mendownload file excel yang telah kita buat.
Jadi full source codenya
Dan hasillnya adalah :D
<?php
header("Content-type: application/vnd-ms-excel");
header("Content-Disposition: attachment; filename=Export-Data-Buku.xls");
?>
<!DOCTYPE html>
<html>
<head>
<title>Export data No Plugin</title>
</head>
<body>
<h2>Daftar Buku pada Perpustakaan Media Nusantara</h2>
<table border="1">
<tr>
<th>No</th>
<th>Nama Buku</th>
<th>Pengarang</th>
<th>Penerbit</th>
</tr>
<?php
require 'include/connection.php';
$con = new Connection();
$lib = $con->showData();
$no = 1;
while ($data = $lib->fetch(PDO::FETCH_OBJ)) {
?>
<tr>
<td><?php echo $no; ?></td>
<td><?php echo $data->nama_buku; ?></td>
<td><?php echo $data->pengarang; ?></td>
<td><?php echo $data->penerbit; ?></td>
</tr>
<?php
$no++;
}
?>
</table>
<p>
<footer>
By Maful Prayoga Arnandi visit <a href="http://mafulprayogaarnandi.blogspot.com/" target="_blank">blog</a>
</footer>
</p>
</body>
</html>
Oke, akhirnya selesai juga tutorial kali ini. Jika ada pertanyaan lebih lanjut bisa hubungi saya di mafulprayoga@gmail.com atau ada kepentingan tentang pembuatan website atau aplikasi bisa langsung menghubungi saya.
Terimakasih
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :