I am currently using 1.8.0 phpexcel…but this little bit tricky…
1.8.0 does not have inbuild pdf library so we have to load external library like mpdf , htmlpdf, tcpdf
so download from any one vendor site and copy the folder into /protected/vendor folder
Then goto eexcelview init method and replace with this code.
what i did here is simple
i am loading [size=2]rendererName[/size][size=2] and [/size][size=2]rendererLibraryPath[/size][size=2] , then i am calling [/size][size=2]setPdfRenderer of phpexcel… It will inform [/size]
[size=2]
[/size]
[size=2]hi phpexcel i am going to use mpdf and you can load library from this renderer path [/size]
[size=2]
[/size]
[size=2]Have Fun[/size]
public function init()
{
if(isset($_GET[$this->grid_mode_var]))
$this->grid_mode = $_GET[$this->grid_mode_var];
if(isset($_GET['exportType']))
$this->exportType = $_GET['exportType'];
$lib = Yii::getPathOfAlias($this->libPath).'.php';
if($this->grid_mode == 'export' and !file_exists($lib)) {
$this->grid_mode = 'grid';
Yii::log("PHP Excel lib not found($lib). Export disabled !", CLogger::LEVEL_WARNING, 'EExcelview');
}
if($this->grid_mode == 'export')
{
$this->title = $this->title ? $this->title : Yii::app()->getController()->getPageTitle();
$this->initColumns();
//parent::init();
//Autoload fix
spl_autoload_unregister(array('YiiBase','autoload'));
Yii::import($this->libPath, true);
$this->objPHPExcel = new PHPExcel();
$rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF;
$rendererLibraryPath = Yii::app()->basePath . '/vendor/mpdf60';
// Here's the magic: you __tell__ PHPExcel what rendering engine to use
// and where the library is located in your filesystem
if (!PHPExcel_Settings::setPdfRenderer($rendererName,$rendererLibraryPath)) {
die('NOTICE: Please set the $rendererName and $rendererLibraryPath values' .
'<br />' .
'at the top of this script as appropriate for your directory structure'
);
}
spl_autoload_register(array('YiiBase','autoload'));
// Creating a workbook
$this->objPHPExcel->getProperties()->setCreator($this->creator);
$this->objPHPExcel->getProperties()->setTitle($this->title);
$this->objPHPExcel->getProperties()->setSubject($this->subject);
$this->objPHPExcel->getProperties()->setDescription($this->description);
$this->objPHPExcel->getProperties()->setCategory($this->category);
} else
parent::init();
}
I hope it will help others who are trying to upgrade 1.7 phpexcel to 1.8.0 (only pdf required this settings)