Я пытаюсь прочитать некоторые значения ячеек из файла .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
имеет формулу, которая ссылается на другой лист?