DataObjects/Core_domain.php
[Pman.Core] / SimpleExcel.php
index 53d055c..c3603ef 100644 (file)
@@ -31,6 +31,7 @@
  *              'dataFormat' => 'string' // to force a string..
                 'width'=>  75,
                 'renderer' => array($this, 'getThumb'),
+                'txtrenderer' => array($this, 'cleanValue'),   // for 
  *              'color' => 'yellow', // set color for the cell which is a header element
  *              'fillBlank' => 'gray', // set the color for the cell which is a blank area
             ),
             
         'leave_open' => false  
             
+            
+        // callbacks: renderer
+        
+        function($value, $worksheet, $row, $col, $row_data)
+        
+        // callbacks : txtrenderer
+        function($value, $worksheet, $row, $col, $row_data)
+                        
+            
+            
  */
  
  
@@ -288,10 +299,14 @@ class Pman_Core_SimpleExcel extends Pman
             $worksheet->setRow($start_row +$r, $cfg['row_height']);
         }
         
-        foreach($cfg['cols']  as $c=>$col_cfg) {
+        $line_height = (isset($cfg['line_height'])) ? $cfg['line_height'] : 12;
+        $height = 0;
+        
+        foreach($cfg['cols']  as $c => $col_cfg) {
             
             if(isset($col_cfg['dataIndex']) && isset($cl[$col_cfg['dataIndex']])){
-                $v = $cl[$col_cfg['dataIndex']];
+                $v =    $cl[$col_cfg['dataIndex']]  ;
+                
             }else{
                 if(isset($col_cfg['fillBlank'])){
                     $worksheet->write($start_row+$r, $c, '', $formats[$col_cfg['fillBlank']]);
@@ -315,7 +330,7 @@ class Pman_Core_SimpleExcel extends Pman
                 continue;
             }
             
-            $v = @iconv('UTF-8', 'UTF-8//IGNORE', $v);
+            $v = @iconv('UTF-8', 'UTF-8//TRANSLIT//IGNORE', $v);
             
             $dataFormat = empty($col_cfg['dataFormat']) ? '' : $col_cfg['dataFormat'];
               
@@ -331,6 +346,12 @@ class Pman_Core_SimpleExcel extends Pman
           
                 $worksheet->write($start_row+$r, $c, $v, $format);
             }
+            
+            if(isset($col_cfg['autoHeight'])){
+                $vv = explode("\n", $v);
+                $height = MAX(count($vv) * $line_height, $height);;
+                $worksheet->setRow($start_row+$r, $height);
+            }
         }
         $this->start_row++;
         
@@ -346,8 +367,10 @@ class Pman_Core_SimpleExcel extends Pman
         }
         
         require_once 'File/Convert.php';
+        //var_Dump($this->outfile2);
         $fc=  new File_Convert($this->outfile2, "application/vnd.ms-excel");
-        $fn = $fc->convert("application/vnd.ms-excel"); 
+        $fn = $fc->convert("application/vnd.ms-excel");
+        //print_r($fc);
         $fc->serve('attachment',$fname); // can fix IE Mess
     }