forked from bcit-ci/CodeIgniter
-
Notifications
You must be signed in to change notification settings - Fork 4
Simple Excel Plugin
Derek Jones edited this page Jul 5, 2012
·
8 revisions
Category:Plugin::Data Conversion Category:Contributions::Plugins::Files
This is a simple plugin to create excel output.
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/*
* Excel library for Code Igniter applications
* Author: Federico Ramírez a.k.a fedekun a.k.a lenkun - Feb 2010
*/
function to_excel($array, $filename='out') {
header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename='.$filename.'.xls');
// Filter all keys, they'll be table headers
$h = array();
foreach($array as $row)
foreach($row as $key=>$val)
if(!in_array($key, $h))
$h[] = $key;
echo '<table><tr>';
foreach($h as $key) {
$key = ucwords($key);
echo '<th>'.$key.'</th>';
}
echo '</tr>';
foreach($array as $val)
_writeRow($val, $h);
echo '</table>';
}
function _writeRow($row, $h, $isHeader=false) {
echo '<tr>';
foreach($h as $r) {
if($isHeader)
echo '<th>'.utf8_decode(@$row[$r]).'</th>';
else
echo '<td>'.utf8_decode(@$row[$r]).'</td>';
}
echo '</tr>';
}
Example usage
to_excel($this->model->getUsersAsArray());