28_Iterator.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XLsxReader;
  3. use PhpOffice\PhpSpreadsheet\Writer\Xlsx as XLsxWriter;
  4. require __DIR__ . '/../Header.php';
  5. $sampleSpreadsheet = require __DIR__ . '/../templates/sampleSpreadsheet.php';
  6. $filename = $helper->getTemporaryFilename();
  7. $writer = new XlsxWriter($sampleSpreadsheet);
  8. $callStartTime = microtime(true);
  9. $writer->save($filename);
  10. $helper->logWrite($writer, $filename, $callStartTime);
  11. $callStartTime = microtime(true);
  12. $reader = new XlsxReader();
  13. $spreadsheet = $reader->load($filename);
  14. $helper->logRead('Xlsx', $filename, $callStartTime);
  15. unlink($filename);
  16. $helper->log('Iterate worksheets');
  17. foreach ($spreadsheet->getWorksheetIterator() as $worksheet) {
  18. $helper->log('Worksheet - ' . $worksheet->getTitle());
  19. foreach ($worksheet->getRowIterator() as $row) {
  20. $helper->log(' Row number - ' . $row->getRowIndex());
  21. $cellIterator = $row->getCellIterator();
  22. $cellIterator->setIterateOnlyExistingCells(false); // Loop all cells, even if it is not set
  23. foreach ($cellIterator as $cell) {
  24. if ($cell !== null) {
  25. $helper->log(' Cell - ' . $cell->getCoordinate() . ' - ' . $cell->getCalculatedValue());
  26. }
  27. }
  28. }
  29. }