Создайте файл .xlsx, используя fromArray для большого количества данных - PullRequest
0 голосов
/ 29 января 2019

Мне нужно записать в файл .xlsx около 111.100 строк, используя fromArray (), но у меня странная ошибка

Я использую библиотеку phpspreadsheet

        $spreadsheet = new Spreadsheet();
        $sheet = $spreadsheet->getActiveSheet();
        $columnLetter = 'A';
        foreach ($columnNames as $columnName) {
            // Allow to access AA column if needed and more
            $sheet->setCellValue($columnLetter.'1', $columnName);
            $columnLetter++;
        }
        $i = 2; // Beginning row for active sheet
        $columnLetter = 'A';
        foreach ($columnValues as $columnValue) {
            $sheet->fromArray(array_values($columnValue), NULL, $columnLetter.$i);
            $i++;
            $columnLetter++;
        }
        // Create your Office 2007 Excel (XLSX Format)
        $writer = new Xlsx($spreadsheet);

        // In this case, we want to write the file in the public directory
        // e.g /var/www/project/public/my_first_excel_symfony4.xlsx
        $excelFilepath =  $directory . '/'.$filename.'.xlsx';

        // Create the file
        $writer->save($excelFilepath);     

И я получаю исключение:

сообщение: "Неверная координата ячейки AAAA18272"

# код: 0 # файл: "./vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Coordinate.php"

Можете ли вы помочь мне, пожалуйста?

1 Ответ

0 голосов
/ 06 февраля 2019

Страницы Excel ограничены.Предел огромен, но все еще ограничен.Это правильный фильтр, поэтому вы не можете писать, если для него нет места.В любом случае вам не следует использовать страницы Excel для такого большого объема данных, вы можете попробовать разбить его на более мелкие части, но базы данных должны быть способом манипулирования таким количеством информации

...