Skip to content

Simple Excel Plugin

World Wide Web Server edited this page Jul 4, 2012 · 8 revisions

Category:Plugin::Data Conversion

This is a simple plugin to create excel output.

[code]<?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 '

'; foreach($h as $r) { if($isHeader) echo ''.utf8_decode(@$row[$r]).''; else echo ''.utf8_decode(@$row[$r]).''; } echo ''; }[/code]

Example usage

[code]to_excel($this->model->getUsersAsArray());[/code]

Clone this wiki locally