Почему PhpSpreadSheet не читает значения ячеек? - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь прочитать некоторые значения ячеек из файла .xlsx, используя PhpSpreadSheet , но я не знаю, почему это не работает. Файл открывается, но когда я читаю значения ячейки, он ничего не возвращает. Я проверил, что имя файла правильное и что в ячейках есть данные. Я хочу прочитать лист файла SECOND , поэтому я использовал getSheet(1).

Это мой код:

use PhpOffice\PhpSpreadsheet\IOFactory;   

$inputFileType = 'Xlsx';
$inputFileName = 'Test.xlsx';


$reader = IOFactory::createReader($inputFileType);
$reader->setReadDataOnly(true);
$spreadsheet = $reader->load($inputFileName);
$sheet = $spreadsheet->getSheet(1);


$filterHours = $sheet->getCell('D309')->getOldCalculatedValue();
$otherHour = $sheet->getCell('D295')->getOldCalculatedValue();
$title = $sheet->getCell('B297')->getOldCalculatedValue();

printf($title);
printf($filterHours);
printf($otherHour);

РЕДАКТИРОВАТЬ: Если я используйте getCalculatedValue() вместо getOldCalculatedValue() Я получаю эту ошибку:

Неустранимая ошибка : Uncaught PhpOffice \ PhpSpreadsheet \ Calculation \ Exception:
Configurador! D309 -> Configurador ! D745 -> Configurador! D755 -> Configurador! C776 -> Ошибка формулы : неожиданная ошибка произошла в C: \ xampp \ htdocs \ OfferConfigurator \ vendor \ phpoffice \ phpspreadsheet \ src \ PhpSpreadsheet \ Cell \ Cell. php: 274
Трассировка стека : # 0 C: \ xampp \ htdocs \ OfferConfigurator \ php \ generateDocumentation \ prueba. php (26): PhpOffice \ PhpSpreadsheet \ Cell \ Cell-> getCalculatedValue ()
# 1 {main}, брошенный в C: \ xampp \ htdocs \ OfferConfigurator \ vendor \ phpoffice \ phpspreadsheet \ src \ PhpSpreadsheet \ Cell \ Cell. php в строке 274

Может ли это быть потому, что Configurador!C776 имеет формулу, которая ссылается на другой лист?

...