Чтение и запись данных из .xls и .xlsx с помощью PHPExcel
// Создание нового документа
require_once JPATH_SITE."Classes/PHPExcel.php";
$pExcel = new PHPExcel();
$pExcel->setActiveSheetIndex(0);
$pExcel->getProperties()->setCreator("Sivers");
$aSheet = $pExcel->getActiveSheet();
$aSheet->setTitle('Заказы');
// Загрузка и редактирование имеющегося документа
$src = JPATH_SITE."/price.xls";
require_once "Classes/PHPExcel/IOFactory.php";
$objPHPExcel = PHPExcel_IOFactory::load($src);
$shCount = $objPHPExcel->getSheetCount();
for($sh=0;$sh<$shCount;$sh++){
$objPHPExcel->setActiveSheetIndex($sh);
$sheet = $objPHPExcel->getActiveSheet();
$stitle = $sheet->getTitle();
$cols = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn());
$rows = $sheet->getHighestRow();
for($r=1;$r<=$rows;$r++){
for($c=1;$c<=$cols;$c++){
$cell = $sheet->getCellByColumnAndRow($c, $r);
echo $cell->getValue();
}
}
$draws = $sheet->getDrawingCollection();
$data = array();
foreach($draws as $draw){
$fileres = $draw->getImageResource();
$filename = $draw->getIndexedFilename();
//echo " {$draw->getMimeType()} ";
$drawfunc = $draw->getRenderingFunction();
$coord = $draw->getCoordinates();
list ($col, $row) = PHPExcel_Cell::coordinateFromString($coord);
$col = PHPExcel_Cell::columnIndexFromString($col);
ob_start();
$drawfunc($fileres);
$tmp = ob_get_contents();
ob_end_clean();
file_put_contents($dir.$filename, $tmp);
}
}
ob_clean(); // На случай, если что-то уже было выведено. Чистит буфер вывода.
// Save to .xls
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
//header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="price.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$file='price.xls';
//$objWriter->save('php://output');
//$objWriter->save($file);
// Save to .xlsx
$objWriter = PHPExcel_IOFactory::createWriter($pExcel, 'Excel2007');
$file='price.xlsx';
// Экспорт в PDF
$mPDFLibraryPath = JPATH_SITE."/tools/mpdf60";
// Путь установки mPDF
PHPExcel_Settings::setPdfRenderer(PHPExcel_Settings::PDF_RENDERER_MPDF, $mPDFLibraryPath);
//$objPHPExcel->getActiveSheet()->setShowGridLines(false);
// Сохранение в файл
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
$objWriter->save($filepath.$file);
// Скачивание файла
header('Content-Type: application/pdf');
header('Content-Disposition: attachment;filename="document.pdf"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
$objWriter->save('php://output');
exit;