K'iin Balam avatar K'iin Balam committed d343036

[Update]: Now readme files have right instructions.
Added exemples files.

Comments (0)

Files changed (4)

-# YiiExcel
+# YiiReport
 
-Extensión para Yii framework que envuelve la autocarga de clases de [PHPExcel](https://github.com/PHPOffice/PHPExcel), perminiendo un uso transparente dentro de aplicaciones Yii.
+Extensión de Yii para exportar hojas de cálculo (excel) y PDF partiendo de código o plantillas de excel,
+utilizando las bibliotecas PHPExcel y PHPReport.
+ 
+Esta extensión necesita la extensión [YiiExcel](https://bitbucket.org/upnfm/yiireport) para trabajar.
 
-## Installación
+## Requerimientos
 
-* Copie el directorio yiiexcel dentro de protected/extensions.
-* Descargue [PHPExcel](http://phpexcel.codeplex.com/releases/view/96183).
-* Cree un diectorio dentro de protected/vendors y llámelo phpexcel.
-* Decomprima PHPExcel y copie el contenido del directorio Classes destro de del directorio phpexcel recién creado.
-* Abra el archivo PHPExcel.php y comente la inlución del autocargador:
+* Yii 1.1 or superior.
+* PHPExcel 1.7.8
+* Extensión [YiiExcel](http://www.yiiframework.com/extension/yiiexcel/)
+* Opcional: Alguna de las bibliotecas TcPDF, DomPDF o mPDF.
 
-php
+## Instalación
 
+1. Descarga e instala la extensión [YiiExcel](http://www.yiiframework.com/extension/yiiexcel/).
+2. Descarga una biblioteca para PDF, como [mPDF](http://www.mpdf1.com/mpdf/index.php) y copiala en `protected/vendors directory`
+3. Descarga y descomprime `YiiReport`, entonces copia el directorio `yiireport` en `protected/extensions`.
+4. Edita el archivo de configuración `yiireport.php` si llega a ser necesario. 
+    En este archivo se establece la biblioteca PDF a utilizar, la ruta a dicha biblioteca y la ruta a las plantillas. 
+5. Agrega YiiReport a los imports:
 
-    :::php
-    /** PHPExcel root directory */
-    /*if (!defined('PHPEXCEL_ROOT')) {
-        define('PHPEXCEL_ROOT', dirname(__FILE__) . '/');
-        require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
-    }*/
-
-
-* Edite el archivo index.php y registre el autocargador de YiiExcel:
-
-php
-
-
-    :::php
-	require_once($yii);
-    //Ne ejecutar la aplicación antes de registrar el autocargador
-    $app = Yii::createWebApplication($config);
-    
-    Yii::import('ext.yiiexcel.YiiExcel', true);
-    Yii::registerAutoloader(array('YiiExcel', 'autoload'), true);
-    
-    // Optional:
-    //	As we always try to run the autoloader before anything else, we can use it to do a few
-    //		simple checks and initialisations
-    PHPExcel_Shared_ZipStreamWrapper::register();
-    
-    if (ini_get('mbstring.func_overload') & 2) {
-        throw new Exception('Multibyte function overloading in PHP must be disabled for string functions (2).');
-    }
-    PHPExcel_Shared_String::buildCharacterSets();
-    
-    //Ahora si se puede correr la aplicación
-    $app->run();
+~~~
+...
+'import'=>array(
+    ...
+    'application.vendors.phpexcel.PHPExcel',
+    'ext.yiireport.*',
+    ...
+),
+~~~
 
 
 ## Uso
 
-Simplemente crea una instancia de PHPExcel
+~~~
+    $r = new YiiReport(array('template'=> someTemplate.xls));
+    $r->load(array(...));
+    echo $r->render(format, name);
+~~~
 
-    :::php
-    $objPHPExcel = new PHPExcel();
+## Notas
 
+* En el archivo de configuración `yiireport.php`, debes utilizar el formato de alias (alias path).
+* los formatos de salida posible son: `'excel5'` para `xls`, `'excel2007'` para `xlsx`, `'html'` y `'pdf'`.
+* La clase PHPReport tiene pequeñas modificaciones sobre la clase original [PHPReport](https://github.com/vernes/PHPReport) hecha por [Vernes Šiljegović](https://github.com/vernes).
 
-Consulta el archivo SiteController.php de ejemplo que está en el directorio example.
+## Ejemplo
+
+1. Copia el archivo `students.xls` de `examples/templates` a `views/reports`.
+2. copia el método `actionExcel()` de el archivo de ejemplo `SiteController.php` a te propio controlador `SiteController`.
-# YiiExcel
+# YiiReport
 
 Yii extension for export Spreadsheet and PDF from scratch or templates using PHPExcel and PHPReport Libraries.
+ 
+This library needs [YiiExcel](https://bitbucket.org/upnfm/yiireport) extension for work.
 
 ## Requirements
 
-* Yii 1.1 or above
+* Yii 1.1 or above.
 * PHPExcel 1.7.8
-* [YiiExcel extension](http://www.yiiframework.com/extension/yiiexcel/)
+* [YiiExcel extension](http://www.yiiframework.com/extension/yiiexcel/).
 * Optional: TcPDF, DomPDF or mPDF library.
 
 ## Installation
 
 1. Download and install [YiiExcel extension](http://www.yiiframework.com/extension/yiiexcel/).
-2. Downslad a PDF library, like [mPDF](http://www.mpdf1.com/mpdf/index.php) and copy to protected/vendors directory
-3. Download and Unzip YiiReport, then copy yiiexcel directory to protected/extensions.
-4. Edit yiireport.php config file if you need. 
+2. Download a PDF library, like [mPDF](http://www.mpdf1.com/mpdf/index.php) and copy to `protected/vendors directory`
+3. Download and Unzip `YiiReport`, then copy `yiireport` directory to `protected/extensions`.
+4. Edit `yiireport.php` config file if you need. Here you set the PDF library to use, the path for that library and the template path. 
 5. Add YiiReport to imports:
 
 ~~~
-[php]
+...
+'import'=>array(
     ...
-    'import'=>array(
-        ...
-        'application.vendors.phpexcel.PHPExcel',
-        'ext.yiireport.*',
-        ...
-    ),
+    'application.vendors.phpexcel.PHPExcel',
+    'ext.yiireport.*',
+    ...
+),
 ~~~
 
 
 ## Usage
 
-Just create a PHPExcel instance:
+~~~
+    $r = new YiiReport(array('template'=> someTemplate.xls));
+    $r->load(array(...));
+    echo $r->render(format, name);
+~~~
 
-    :::php
-    $objPHPExcel = new PHPExcel();
-    
-Read the SiteController.php example file located inside example directory.
+## Notes
+
+* Inside `yiireport.php` config file, you must use alias path format.
+* The output format options are: `'excel5'` for `xls`, `'excel2007'` for `xlsx`, `'html'` and `'pdf'`.
+* PHPReport class have lites modifications over the original [PHPReport](https://github.com/vernes/PHPReport) class by [Vernes Šiljegović](https://github.com/vernes).
+
+## Example
+
+1. Copy `students.xls` file from `examples/templates` to `views/reports`
+2. Copy `actionExcel()` method from `SiteController.php` example file to your own `SiteController`

examples/SiteController.php

+<?php
+
+class SiteController extends Controller
+{
+    public function actionExcel(){
+        
+        //Some data
+        $students = array(
+            array('name'=>'Some Name','obs'=>'Mat'),
+            array('name'=>'Another Name','obs'=>'Tec'),
+            array('name'=>'Yet Another Name','obs'=>'Mat')
+        );
+        
+        $r = new YiiReport(array('template'=> 'students.xls'));
+        
+        $r->load(array(
+                array(
+                    'id' => 'ong',
+                    'data' => array(
+                        'name' => 'UNIVERSIDAD PADAGÓGICA NACIONAL'
+                    )
+                ),
+                array(
+                    'id'=>'estu',
+                    'repeat'=>true,
+                    'data'=>$students,
+                    'minRows'=>2
+                )
+            )
+        );
+        
+        echo $r->render('excel5', 'Students');
+        //echo $r->render('excel2007', 'Students');
+        //echo $r->render('pdf', 'Students');
+        
+    }//actionExcel method end
+}
Add a comment to this file

examples/templates/students.xls

Binary file added.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.