Skip to content
World Wide Web Server edited this page Jul 4, 2012 · 11 revisions

Category:Helper::Community | Category:Helper::CSV

[h3]Excel CSV helper for CodeIgniter[/h3]

[url=http://maestric.com/en/doc/php/codeigniter_csv]Usage examples[/url]

[code]<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

// ------------------------------------------------------------------------

/**

// ------------------------------------------------------------------------

/**

  • Array to CSV

  • download == "" -> return CSV string

  • download == "toto.csv" -> download file toto.csv */ if ( ! function_exists('array_to_csv')) { function array_to_csv($array, $download = "") { ob_start(); $f = fopen('php://output', 'w') or show_error("Can't open php://output"); $n = 0;
    foreach ($array as $line) { $n++; if ( ! fputcsv($f, $line)) { show_error("Can't write line $n: $line"); } } fclose($f) or show_error("Can't close php://output"); $str = ob_get_contents(); ob_end_clean();

     if ($download == "")
     {
         return $str;    
     }
     else
     {    
         header('Content-Type: application/csv');
         header('Content-Disposition: attachement; filename="' . $download . '"');
         echo $str;
     }        
    

    } }

// ------------------------------------------------------------------------

/**

  • Query to CSV

  • download == "" -> return CSV string

  • download == "toto.csv" -> download file toto.csv */ if ( ! function_exists('query_to_csv')) { function query_to_csv($query, $headers = TRUE, $download = "") { if ( ! is_object($query) OR ! method_exists($query, 'list_fields')) { show_error('invalid query'); }

     $array = array();
     
     if ($headers)
     {
         $line = array();
         foreach ($query->list_fields() as $name)
         {
             $line[] = $name;
         }
         $array[] = $line;
     }
     
     foreach ($query->result_array() as $row)
     {
         $line = array();
         foreach ($row as $item)
         {
             $line[] = $item;
         }
         $array[] = $line;
     }
    
     echo array_to_csv($array, $download);
    

    } }

/* End of file csv_helper.php / / Location: ./system/helpers/csv_helper.php */[/code]

Clone this wiki locally