Подскажите как можно получить массив сгруппированных товаров из файла excel.
Я обрабатываю файл, но разбиения на группы нет, выдает просто по порядку все строки.
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx');
$reader->setReadDataOnly(TRUE);
$spreadsheet = $reader->load("bulat_price.xlsx");
$worksheet = $spreadsheet->getActiveSheet();
$worksheet->toArray();
Нашел решение, как получить уровень вложенности или многоуровневую группировку строк. Использовал PHPExcel т.к. подходит для старых версий PHP. PhpSpreadsheet идет от версии PHP 5.6.
$spreadsheet = PHPExcel_IOFactory::load($file); // Загружаем файл
$objWorksheet = $spreadsheet->getActiveSheet();
$worksheet = $spreadsheet->setActiveSheetIndex(0); // Выбираем первый лист
$i = 0;
$arrLevel = [];
foreach ($worksheet->getRowDimensions() as $rowDimension) {
$i++;
$arrLevel[$i]['level'] = $rowDimension->getOutlineLevel(); // Определяем уровень вложенности
}
$highestColumn = $worksheet->getHighestColumn(); // e.g 'F'
foreach ($objWorksheet->getRowIterator() as $row) {
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(true);
foreach ($cellIterator as $cell) {
$arrLevel[$row->getRowIndex()]["excel"][$cell->getColumn()] = $cell->getValue(); // Объединяем глубину вложенности и данные из столбцов и строк
}
}
var_dump($arrLevel);
Получаем:
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть ли какой-либо способ сделать эффект вздутия картинки (bloat effect)? Не обязательно из центра
Подскажите чайнику как лучше сделать:
Есть две таблицыПервая Calendar содержит 3 столбца: id помещения, время и имя пользователя
Сайт работает на WordPressНеобходимо разработать функционал, который позволил бы бронировать услугу