Intereting Posts
Как заменить символы, отличные от ASCII, в строке в PHP? Предварительно упакованный Redbean извлекает только одну (последнюю) строку Данные сопоставления MySql UTF8 с акцентами, которые не отображаются должным образом при загрузке PHP mysql_num_rows дает ошибку "mysql_num_rows () ожидает, что параметр 1 будет ресурсом" Авто Отправка формы (cURL) PHP короткий уникальный генерации идентификатора с использованием auto_increment? Symfony2 Пользовательская ошибка 404 страница Правильно укажите заголовок php на всех страницах Брандмауэр Symfony2 занимает много времени Получение неправильного значения для функции variant_date_to_timestamp () Аутентификация API-интерфейса WordPress REST без страницы входа в систему Symfony 2 – Попытка вызвать функцию «apcu_fetch» ​​из пространства имен «Doctrine \ Common \ Cache» Переназначить index.php в CodeIgniter как динамически изменять элемент двух связанных полей статическая функция php

PHPExcel: ошибка «Невозможно прочитать файл» Преобразование Excel в PDF (.xlsx в .pdf)

У меня есть xlsx с одной таблицей. Я использую PHPExcel, чтобы преобразовать его в pdf через следующий код:

error_reporting(E_ALL); date_default_timezone_set('Europe/London'); require_once 'phpExcel/PHPExcel/IOFactory.php'; require_once 'phpExcel/PHPExcel.php'; $inputFileName = 'doc/ModUnico'; $excel2 = PHPExcel_IOFactory::createReader('Excel2007'); $excel2 = $excel2->load($inputFileName.'.xlsx'); $excel2->setActiveSheetIndex(0); $excel2->getActiveSheet()->setCellValue('H5', '4'); $objWriter = PHPExcel_IOFactory::createWriter($excel2, 'Excel2007'); $objWriter->save($inputFileName.'_.xlsx'); $objPHPexcel = PHPExcel_IOFactory::load($inputFileName.'_.xlsx'); header('Content-Type: application/pdf'); header('Content-Disposition: attachment;filename="test.pdf"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPexcel, 'PDF'); $objWriter->writeAllSheets(); $objWriter->setPreCalculateFormulas(false); $objWriter->save('php://output'); 

Проблема в том, что когда я пытаюсь открыть возвращаемый файл, я получаю сообщение об ошибке «Impossible to read file».

EIDT: добавлен рендерер

  $rendererName = PHPExcel_Settings::PDF_RENDERER_MPDF; $rendererLibrary = 'mpdf.php'; $rendererLibraryPath = dirname(__FILE__).'/MPDF57/' . $rendererLibrary; 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' ); } 

Я думаю, что Марк на что-то. Когда я сталкиваюсь с такими ошибками, я начинаю сверху и сокращаюсь. т. е. правилен ли промежуточный файл xlsx?

Я, вероятно, также написал бы некоторый тестовый код с ДЕЙСТВИТЕЛЬНО простыми файлами xls или csv-файлами, которые используют библиотеку PHPExcel, и вы должны выяснить, что не так, пока вы пытаетесь заставить их работать. То же самое с рендерером PDF, я бы попробовал другое (если оно доступно).

детеныш