Я экспортирую список некоторых ресурсов в файл xlsx, где у каждого ресурса есть поля на английском и иврите.
Проблема в том, что прокрутка листа очень медленная.
Замедление работы Microsoft Excel на нескольких ПК наблюдается в операционных системах Microsoft и Mac.
То, что я пробовал, не помогло:
То, что я пробовал, помогло:
- Запись файла в формате CSV с кодировкой UTF-8.
Это решение не подходит для меня, так как я хочу иметь возможность экспортировать файл со стилями.
(Удаление колонок на иврите также помогло ускорить прокрутку)
Воспроизводимый пример с использованием PHPOffice / PhpSpreadsheet (при условии таблицы базы данных с полями на английском и иврите):
<?php
$nominees = \App\Entities\Nominee::all();
$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
// Headings
$sheet->setCellValue('A1', 'שם');
$sheet->setCellValue('B1', 'Name');
$sheet->setCellValue('C1', 'ביוגרפיה');
$sheet->setCellValue('D1', 'Biography');
$row = 2;
// Rows
foreach ($nominees as $nominee) {
$sheet->setCellValue('A' . '$row', $nominee->he_name);
$sheet->setCellValue('B' . '$row', $nominee->en_name);
$sheet->setCellValue('C' . '$row', $nominee->he_biography);
$sheet->setCellValue('D' . '$row', $nominee->en_biography);
$row++;
}
$sheet->setRightToLeft(true); // Example for styling
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save('some/path');