Pada artikel sebelumnya, saya sempat sedikit membahas tentang penggunaan class lain untuk mengolah excel file selain menggunakan excel reader yaitu menggunakan phpexcel. Karena basa-basinya sudah habis pada artikel sebelumnya, maka pada artikel ini langsung saja ke pokok permasalah.
Siapkan dahulu class php excelnya, bisa didownload disini. Setelah itu kemudian exctract php excel ke dalam folderĀ third party, kemudian buat library dengan source code seperti di bawah ini:
<code>
<?php if ( ! defined(‘BASEPATH’)) exit(‘No direct script access allowed’);
Class Excel
{
function Excel()
{
require_once APPPATH.”/third_party/PHPExcel.php”;
}
function reader($filename = NULL)
{
$objReader = new PHPExcel_Reader_Excel5();
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($filename);
$rowIterator = $objPHPExcel->getActiveSheet()->getRowIterator();
$sheet = $objPHPExcel->getActiveSheet();
$array_data = array();
foreach($rowIterator as $row)
{
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set
$rowIndex = $row->getRowIndex();
foreach ($cellIterator as $cell)
{
$array_data[$rowIndex][$cell->getColumn()] = $cell->getCalculatedValue();;
}
}
return $array_data;
}
}
</code>
Kemudian di controller, cara pemanggilannya adalah:
<code>
$filename = ‘nama file excel’;
$this->load->library(‘excel’);
$data = $this->excel->reader($filename);
$no = 0;
foreach($data as $dt_excel)
{
echo $dt_excel[‘A’]; //A merupakan nama kolom dari file kolom-kolom excel yang digunakan
}
</code>
Sudah saya coba di hosting dan berhasil :). Horeeeee……
Semoga bermnafaat!!
Mas, Kalo bisa di kasih contoh programnya(diupload). saya masih kurang paham MVC nya.
Untuk laporan yg akan di tampilkan ke Excel itu. Model gimana ? views gimana ? kalo controllerkan sudah ada.