Membuat Laporan Excel Per Kategori
2 min read
Kalian tau kan nama-nama hewan berdasarkan abjat? dari A sampai Z, mungkin gak semuanya ya kalian mengenalinya, tapi adalah satu atau dua atau tiga bahkan empat atau lima nama hewan berdasar masing-masing huruf depannya kaaaan??. Sekarang kita akan coba buat cetakan dalam bentuk excel untuk mencetak nama-nama hewan berdasar huruf depan abjatnya dari A sampai dengan Z.
Nih… saya kasih data nya yaa, pertama-tama buat tabelnya dulu, buat database terserah kalian namanya apa, ini query buat bikin tabel dengan nama hewan dan berikut isi datanya.
/* SQLyog Ultimate v11.5 (64 bit) MySQL - 10.1.34-MariaDB : Database - db_blog_dvf ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=''*/; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; /*Table structure for table `hewan` */ DROP TABLE IF EXISTS `hewan`; CREATE TABLE `hewan` ( `id_hewan` int(3) NOT NULL AUTO_INCREMENT, `nm_hewan` varchar(100) DEFAULT NULL, PRIMARY KEY (`id_hewan`) ) ENGINE=InnoDB AUTO_INCREMENT=223 DEFAULT CHARSET=latin1; /*Data for the table `hewan` */ insert into `hewan`(`id_hewan`,`nm_hewan`) values (1,'alapalap'),(2,'angsa'),(3,'anjing'),(4,'anoa'),(5,'antilop'),(6,'aphid'),(7,'arwana'),(8,'ayam'),(9,'ayamkalkun'),(10,'ayamkate'),(11,'babi'),(12,'badak'),(13,'bajing'),(14,'bangau'),(15,'bangsat'),(16,'banteng'),(17,'bebek'),(18,'bekantan'),(19,'bekicot'),(20,'belalang'),(21,'belatung (larva lalat)'),(22,'belibis'),(23,'belut'),(24,'beo'),(25,'berangberang'),(26,'beruang'),(27,'beruk'),(28,'beruk'),(29,'betet'),(30,'betok'),(31,'biawak'),(32,'bintanglaut'),(33,'biribiri'),(34,'bison'),(35,'blekok'),(36,'buaya'),(37,'bulbul'),(38,'bulubabi'),(39,'bunglon'),(40,'burung'),(41,'burunggereja'),(42,'burunghantu'),(43,'burungunta'),(44,'cacing'),(45,'camar'),(46,'capung'),(47,'cencorang'),(48,'cendrawasih'),(49,'cere'),(50,'cerek'),(51,'cheetah'),(52,'cicak'),(53,'codot'),(54,'cucakrawa'),(55,'cumicumi'),(56,'cupang'),(57,'dara'),(58,'domba'),(59,'duyung'),(60,'elang'),(61,'entok'),(62,'gabus'),(63,'gagak'),(64,'gajah'),(65,'gapih'),(66,'garuda'),(67,'gelatik'),(68,'gorila'),(69,'gurame'),(70,'gurita'),(71,'hamster'),(72,'harimau'),(73,'hiena'),(74,'hiu'),(75,'iguana'),(76,'ikan'),(77,'itik'),(78,'jalak'),(79,'jangkrik'),(80,'jerapah'),(81,'kadal'),(82,'kakatua'),(83,'kakiseribu'),(84,'kalajengking'),(85,'kalkun'),(86,'kalong'),(87,'kambing'),(88,'kampret'),(89,'kangguru / kanguru'),(90,'kapibara'),(91,'kasuari'),(92,'katak'),(93,'kebo'),(94,'kecebong (larva kodok)'),(95,'kecoa'),(96,'kecoak'),(97,'kelabang'),(98,'keledai'),(99,'kelelawar'),(100,'kelinci'),(101,'kenari'),(102,'keong'),(103,'kepiting'),(104,'kera'),(105,'kerang'),(106,'kerapu'),(107,'kerbau'),(108,'kijang'),(109,'koala'),(110,'kobra'),(111,'kodok'),(112,'koi'),(113,'koi'),(114,'komodo'),(115,'kucing'),(116,'kuda'),(117,'kudanil'),(118,'kudaponi'),(119,'kumbang'),(120,'kupukupu'),(121,'kurakura'),(122,'kuskus'),(123,'kutu'),(124,'labalaba'),(125,'lalat'),(126,'lalatbuah'),(127,'laler'),(128,'landak'),(129,'landaklaut'),(130,'laron'),(131,'lebah'),(132,'lele'),(133,'lemur'),(134,'lintah'),(135,'lipan'),(136,'lipas'),(137,'lobster'),(138,'lumbalumba'),(139,'lutung'),(140,'lutung'),(141,'luwak'),(142,'macan'),(143,'macankumbang'),(144,'macantutul'),(145,'makarel'),(146,'maleo'),(147,'mambruk'),(148,'marmut'),(149,'maskoki'),(150,'merak'),(151,'merpati'),(152,'milkat'),(153,'monyet'),(154,'mujaer'),(155,'musang'),(156,'ngengat'),(157,'nila'),(158,'nyamuk'),(159,'onta'),(160,'orangutan'),(161,'oskar'),(162,'owa'),(163,'panda'),(164,'parkit'),(165,'patin'),(166,'paus'),(167,'pelatuk'),(168,'penyu'),(169,'perkutut'),(170,'pesut'),(171,'pinguin'),(172,'pipit'),(173,'piranha'),(174,'piton'),(175,'rajawali'),(176,'rayap'),(177,'rubah'),(178,'rusa'),(179,'salmon'),(180,'sanca'),(181,'sapi'),(182,'sapusapu'),(183,'semut'),(184,'sepat'),(185,'serangatepung'),(186,'serigala'),(187,'setantasmania'),(188,'siamang'),(189,'singa'),(190,'siput'),(191,'soang'),(192,'sotong'),(193,'tangkasi'),(194,'tapir'),(195,'tarantula'),(196,'tarsius'),(197,'tawon'),(198,'tekukur'),(199,'tengiri'),(200,'teri'),(201,'teripang'),(202,'terwelu'),(203,'tikus'),(204,'tiram'),(205,'todak'),(206,'tomcat'),(207,'trenggiling'),(208,'tuna'),(209,'tupai'),(210,'uburubur'),(211,'udang'),(212,'ular'),(213,'ularderik'),(214,'ularsendok'),(215,'ulat'),(216,'undurundur'),(217,'unta'),(218,'walet'),(219,'wauwau'),(220,'wereng'),(221,'yuyu'),(222,'zebra'); /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
Copy paste aja query diatas, lalu eksekusi di phpmyadmin atau SQLYog kalian, nanti jadinya kurang lebih kaya gini nih..
Lalu kita akan membuat sebuah script PHP sederhana untuk membuat cetakan dalam bentuk excel nya, pertama-tama buat sebuah file dengan nama koneksi_hewan.php dengan listing kode sebagai berikut:
<?php # FileName="Connection_php_mysql.htm" # Type="MYSQL" # HTTP="true" $hostname_koneksi = "localhost"; $database_koneksi = "db_blog_dvf"; $username_koneksi = "root"; $password_koneksi = ""; $koneksi = mysql_pconnect($hostname_koneksi, $username_koneksi, $password_koneksi) or trigger_error(mysql_error(),E_USER_ERROR); ?>
Lalu buat sebuah halaman php lagi dengan nama hewan.php dengan listing kode sebagai berikut:
<?php header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); header("Content-Disposition: attachment;filename=\"data_hewann_per_kategori_abjat.xls\""); header("Cache-Control: max-age=0"); ?> <?php require_once('Connections/koneksi_hewan.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } mysql_select_db($database_koneksi, $koneksi); ?> <?php for($huruf='A'; $huruf<='Z'; $huruf++){ ?> <?php $query_hewan = "SELECT * FROM hewan WHERE LEFT(nm_hewan,1)='$huruf'"; $hewan = mysql_query($query_hewan, $koneksi) or die(mysql_error()); $row_hewan = mysql_fetch_assoc($hewan); ?> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td colspan="10"><h3>Huruf <?php echo $huruf;?></h3></td> </tr> <tr> <td width="44" bgcolor="#CCCCCC"><strong>NO</strong></td> <td width="1061" bgcolor="#CCCCCC"><strong>Nama Hewan</strong></td> </tr> <?php $no=1; do { $nm_hewan = $row_hewan['nm_hewan']; ?> <tr> <td><?php echo $no;?></td> <td><?php echo $nm_hewan; ?></td> </tr> <?php $no++; } while ($row_hewan = mysql_fetch_assoc($hewan)); ?> </table> <?php }; ?> <?php mysql_free_result($hewan); ?>
Simpan lalu jalankan di browser kesayangan anda, sehingga akan muncul tampilan jendela download file excel seperti berikut :
Klik tombol OK, lalu coba buka yah, nanti akan tampil data excelnya seperti berikut ini :
Selamat mencoba..