PHPExcel Reader Example #01
Simple File Reader using PHPExcel_IOFactory::load()
');
include 'includes/PHPExcel/IOFactory.php';
$PDFrendererName = PHPExcel_Settings::PDF_RENDERER_MPDF;
$PDFrendererLibraryPath = 'includes/MPDF/';
$JPrendererName = PHPExcel_Settings::CHART_RENDERER_JPGRAPH;
$JPrendererLibraryPath = 'includes/jpgraph/src';
if (!PHPExcel_Settings::setPdfRenderer($PDFrendererName, $PDFrendererLibraryPath)) {
die("Error loading PDF-Lib!");
}
if (!PHPExcel_Settings::setChartRenderer($JPrendererName, $JPrendererLibraryPath)) {
die("Errorloading JPGraph!");
}
$inputFileName = 'resulting_excel/test.xlsx';
$objReader = PHPExcel_IOFactory::createReader("Excel2007");
$objReader->setIncludeCharts(TRUE);
$objPHPExcel = $objReader->load($inputFileName);
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
$sheetName = $worksheet->getTitle();
echo 'Worksheet: ' , $sheetName , EOL;
$chartNames = $worksheet->getChartNames();
if(empty($chartNames)) {
echo ' There are no charts in this worksheet' , EOL;
} else {
natsort($chartNames);
foreach($chartNames as $i => $chartName) {
$chart = $worksheet->getChartByName($chartName);
if (!is_null($chart->getTitle())) {
$caption = '"' . implode(' ',$chart->getTitle()->getCaption()) . '"';
} else {
$caption = 'Untitled';
}
echo ' ' , $chartName , ' - ' , $caption , EOL;
echo str_repeat(' ',strlen($chartName)+3);
$groupCount = $chart->getPlotArea()->getPlotGroupCount();
if ($groupCount == 1) {
$chartType = $chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType();
echo ' ' , $chartType , EOL;
} else {
$chartTypes = array();
for($i = 0; $i < $groupCount; ++$i) {
$chartTypes[] = $chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType();
}
$chartTypes = array_unique($chartTypes);
if (count($chartTypes) == 1) {
$chartType = 'Multiple Plot ' . array_pop($chartTypes);
echo ' ' , $chartType , EOL;
} elseif (count($chartTypes) == 0) {
echo ' *** Type not yet implemented' , EOL;
} else {
echo ' Combination Chart' , EOL;
}
}
}
}
}
$outputFileName = str_replace('.xlsx', '.pdf', basename($inputFileName));
echo date('H:i:s') , " Write Tests to HTML file " , EOL;
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
$objWriter->setIncludeCharts(TRUE);
$objWriter->save($outputFileName);
echo date('H:i:s') , " File written to " , $outputFileName , EOL;
$objPHPExcel->disconnectWorksheets();
unset($objPHPExcel);
// $objPHPExcel->setActiveSheetIndex(16);
// //echo date('H:i:s') , " Hide grid lines" , EOL;
// $objPHPExcel->getActiveSheet()->setShowGridLines(false);
//
// //echo date('H:i:s') , " Set orientation to landscape" , EOL;
// //$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
//
//
// $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
// $objWriter->setSheetIndex(16);
// $objWriter->save(str_replace('.php', '_'.$rendererName.'.pdf', __FILE__));
// Echo done
echo date('H:i:s') , " Done writing files" , EOL;
echo 'File has been created in ' , getcwd() , EOL;
?>