Для данной задачи нам понадобится свежий Spreadsheet
на момент написания статьи вот так «phpoffice/phpspreadsheet»: «^1.8»,

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Reader\Xlsx;

$reader = new Xlsx();
$spreadsheet = $reader->load($_FILES['upload']['tmp_name']); // тут наш файл с таблицей Excel
$worksheet = $spreadsheet->setActiveSheetIndex(0);
$highestRow = $worksheet->getHighestRow();
$highestCol = $worksheet->getHighestColumn();

// данной строкой мы заносим все строки (начиная с A1) в наш массив
$infoByTableReviews = $worksheet->rangeToArray("A1:$highestCol$highestRow", null, true, false, false);

в итоге получим что-то типа вот такого:

array(2) { 
	[0]=> array(7) { 
		[0]=> string(3) "URL" 
		[1]=> string(6) "Имя"
		[2]=> string(143) "Дата" 
		[3]=> string(28) "Оценка" 
		[4]=> string(10) "Отзыв" 
		[5]=> string(68) "Рекомендую продукт (1 = да, 0 = нет)" 
		[6]=> NULL 
	 } 

	 [1]=> array(7) { 
		[0]=> string(91) "https://test.ru/products/test-product.htm" 
		[1]=> string(12) "Андрей" 
		[2]=> float(44453) // а на самом деле 14.09.2021
		[3]=> float(5) 
		[4]=> string(208) "По всей Москве искал данный продукт. Его очень любят мои питомцы. Только у вас его и нашёл. Большое спасибо." 
		[5]=> float(1) 
		[6]=> NULL 
	 } 
 }

ну а с этим уже, как говорится можно и поработать…

Есть один нюанс с форматом даты в Excel. Он немного отличается от всем нам привычного. Но библиотека и об этом позаботилась. И поможет нам следующий код.

foreach ($array as $tableRow) {
    $myDate = date('Y-m-d h:i',\PhpOffice\PhpSpreadsheet\Shared\Date::excelToTimestamp($tableRow[2]));
}