Пользоваться будем библиотекой PhpSpreadsheet. Для начала установим её с помощью Composer
composer require phpoffice/phpspreadsheet
после установки мы можем использовать функционал библиотеки.
Показываю пример из реального проекта, скрыв кофиденциальные данные, думаю дальше под себя можно подогнать
<?php
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
global $USER, $APPLICATION;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Shared\Date;
if ($USER->IsAdmin()) {
$oSpreadsheet = IOFactory::load("files/excel_file.xlsx");
$oCells = $oSpreadsheet->getActiveSheet()->getCellCollection();
$cells = $oSpreadsheet->getSheetByName('Sheet 1')->getCellCollection();
//получаем кол-во строк
$max = $cells->getHighestRow();
//Начинаем со второй строки, если первая - это заголовки
for ($row = 2; $row <= $max; $row++) {
$email = $cells->get('D' . $row)->getValue();
$id = $cells->get('E' . $row)->getValue();
//делаем что - то с данными
}
} else {
//можем кинут сюда что нибудь если не админ, например 404 ошибку
}
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/footer.php");
На это всё. Удвчной Вам разработки и адекватных клиентов!
Коментарии отсутствуют, будьте первым(ой) кто напишет под этим постом!
Написать коментарий