Selasa, 24 Juli 2012

Membaca Excel dengan PHP-Excel-Reader (Pemrograman Web PHP)

Baru saja ada yang menanyakan bagaimana cara mengupload Excel ke Web PHP kemudian langsung datanya dimasukkan secara otomatis ke database MySQL. Setelah cari sana - sini ketemulah php-excel-reader, yang dapat didownload di sini, sedangkan dokumentasi pemakaiannya dapat dilihat di sini.

Sedangkan untuk membaca nilai cell pemakaiannya sebagai berikut :

<?php
//error_reporting(E_ALL ^ E_NOTICE);
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
//karena excel_reader2.php menggunakan fungsi split yg sudah deprecated di php5
require_once 'excel_reader2.php';
$data = new Spreadsheet_Excel_Reader("example.xls");

echo "CELL A,1 -> ".$data->val(1,'A')."<br/>";
echo "CELL B,2 -> ".$data->val(2,'B')."<br/>";
echo "CELL F,10 -> ".$data->val(10,'F')."<br/>";

echo "CELL D,3 -> ".$data->val(3,4)."<br/>";
echo "CELL E,2 -> ".$data->val(2,5)."<br/>";

echo "SHEET2 CELL A,1 -> ".$data->val(1,'A',1)."<br/>";
echo "SHEET2 CELL C,2 -> ".$data->val(2,3,1)."<br/>";
?>


Perlu diperhatikan baris error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED); dibutuhkan agar tidak keluar warning, karena PHP-Excel-Reader memakai fungsi split() yang sudah diganti dengan fungsi lain (deprecated) di PHP5.



Hasilnya :


Sedangkan untuk menampilkan file Excel dalam format HTML halaman Web seperti pada contoh dapat dilakukan dengan script di bawah ini (dengan sedikit modifikasi dari contoh aslinya) :


<?php
//http://cariprogram.blogspot.com
//nuramijaya@gmail.com

//error_reporting(E_ALL ^ E_NOTICE);
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
require_once 'excel_reader2.php';
$data = new Spreadsheet_Excel_Reader("example.xls");
?>
<html>
<head>
<style>
table.excel {
border-style:ridge;
border-width:1;
border-collapse:collapse;
font-family:sans-serif;
font-size:12px;
}
table.excel thead th, table.excel tbody th {
background:#CCCCCC;
border-style:ridge;
border-width:1;
text-align: center;
vertical-align:bottom;
}
table.excel tbody th {
text-align:center;
width:20px;
}
table.excel tbody td {
vertical-align:bottom;
}
table.excel tbody td {
    padding: 0 3px;
border: 1px solid #EEEEEE;
}
</style>
</head>

<body>
<?php echo $data->dump(true,true); ?>
</body>
</html>

Hasilnya :



Script selengkapnya dapat didownload disini, setelah masuk Google Docs, klik File-Download

Semoga berguna.

feedback : nuramijaya@gmail.com