SimpleExcel.php
[Pman.Core] / SimpleExcel.php
index 631ad96..c3cc062 100644 (file)
@@ -4,13 +4,13 @@
  * class to generate excel file from rows of data, and a configuration.
  *
  * usage :
- *   $x = new Pman_Core_SimpleExcel(array())
+ *   $x = new Pman_Core_SimpleExcel($data_array, array())
  *   $x->send($fn);
  *
  * 
  *
  
-new Pman_Core_SimpleExcel(array(
+new Pman_Core_SimpleExcel($data_array, array(
     'formats' => array(
         'format_name' => array( 'Align' =>  'left' ), // etc...
     ),
@@ -38,15 +38,17 @@ new Pman_Core_SimpleExcel(array(
                 'fillBlank' => 'gray', // set the color for the cell which is a blank area
             ),
             //..... and ther rows...
-        
-        // if this is set then it will add a tab foreach one.
-        workbooks = array(
-            workbook ->
-            
-        'leave_open' => false  
-            
+    ),
+    
+    // if this is set then it will add a tab foreach one.
+    'workbooks' = array(
+            workbook => '....' // ???
+    ),
+    'leave_open' => false,  // if you call addrows?? later..
             
-        // callbacks: renderer
+));
+
+    callbacks: renderer
         
         function($value, $worksheet, $row, $col, $row_data)
         
@@ -252,8 +254,13 @@ class Pman_Core_SimpleExcel extends Pman
                         continue;
                     }
                     if (isset($col_cfg['renderer'])) {
+                        
+                        if (is_a($col_cfg['renderer'], 'Closure')) {
+                            $col_cfg['renderer']->call($cl[$col_cfg['dataIndex']], $worksheet, $r+1, $c, $cl);
+                        } else {
                         // not sure if row is correct here...!!!?
-                        call_user_func($col_cfg['renderer'], $cl[$col_cfg['dataIndex']], $worksheet, $r+1, $c, $cl);
+                            call_user_func($col_cfg['renderer'], $cl[$col_cfg['dataIndex']], $worksheet, $r+1, $c, $cl);
+                        }
                         
                     }
                   //  echo "<PRE>WRITE: ". htmlspecialchars(print_r(array($r+1, $c, $cl[$col_cfg['dataIndex']]), true));