Чтение листа Excel, содержащего изображение, не удается - PullRequest
0 голосов
/ 05 июня 2018

Используя следующий код, я хочу открыть существующий лист Excel:

require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Helper\Sample;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;

$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$inputFileName = $_SERVER['DOCUMENT_ROOT'].$my_file;
$spreadsheet = $reader->load($inputFileName);
$sheet = $spreadsheet->getActiveSheet();
// ...Here i fill out some cells
// And then save the file with the same name (to overwrite)
$writer = new Xlsx($spreadsheet);
$writer->save($inputFileName);

Но отображается следующее сообщение об ошибке:

Fatal error: Uncaught PhpOffice\PhpSpreadsheet\Writer\Exception: 
File zip:///[...]/output/ciclo_pm_3_71_285_395.xlsx#xl/media/image1.jpeg
does not exist in [...]/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet
/Writer/Xlsx/ContentTypes.php:186 Stack trace: #0 [...]/vendor/phpoffice
/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/ContentTypes.php(126): 
PhpOffice\PhpSpreadsheet\Writer
\Xlsx\ContentTypes->getImageMimeType('zip:///www/htdo...') #1 /[...]
/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx.php(223):
PhpOffice\PhpSpreadsheet\Writer
\Xlsx\ContentTypes->writeContentTypes(Object(PhpOffice\PhpSpreadsheet
\Spreadsheet), false) #2 [...]/ajax_stueli_einlesen.php(350): 
PhpOffice\PhpSpreadsheet\Writer\Xlsx->save('/www/htdocs/w00...') #3 {main} 
thrown in [...]/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer
/Xlsx/ContentTypes.php on line 186

Когда я удаляю изображение изExcel лист, все работает.Похоже, ошибка возникает при перезаписи файла.Почему в PHPSpreadsheet указано «файл не существует»?Файл является частью листа Excel, поэтому он существует, не так ли?

Я беспомощен ... ;-( Кто-нибудь может мне помочь?

...