Мое приложение обладает функциональностью, которая объединяет все типы оценок в одну один лист в книге. Я временно храню каждый тип оценок на сервере в хорошо организованной папке в своем хранилище, имеющей соответствующие разрешения на чтение и запись.
После того как все эти оценки сохранены, я перебираю каждую рабочий лист и лист для объединения данных в единую «MasterSpreadsheet». До этого момента все работает так, как ожидалось.
Однако я столкнулся с проблемой, связанной с необходимостью сортировки этих оценок по именам листов в окончательной книге. К сожалению, PhpSpreadsheet не предоставляет для этого встроенных функций, и мой текущий обходной путь — клонировать MasterSpreadsheet и вставлять листы в алфавитном порядке — вызывает путаницу из-за несоответствий индексов листов.
Имеется кто-нибудь сталкивался с подобной проблемой или имел решение, которое могло бы помочь отсортировать листы в алфавитном порядке, не испортив индексы листов? Будем очень признательны за любые предложения или альтернативные подходы.
Код: Выделить всё
foreach ($sheetNames as $name) {
$sheet = $spreadsheet->getSheetByName($name);
if (!$sheet) {
error_log("Sheet $name doesn't exist in this workbook.");
continue;
}
$clonedSheet = clone $sheet;
$clonedSheet->setTitle($name);
$newSpreadsheet->addSheet($clonedSheet);
}
}
Код: Выделить всё
Undefined array key 2
Версия PhpSpreadsheet: 1.18
Php 8.1
Laravel 8.75< /p>
Подробнее здесь: https://stackoverflow.com/questions/784 ... srupting-s
Мобильная версия