Вы устали вручную настраивать ширину столбцов в PhpSpreadsheet, чтобы ваши данные выглядели аккуратно и организованно? Что ж, вам повезло! В этой статье блога мы рассмотрим различные методы автоматического изменения размера всех столбцов в PhpSpreadsheet, что сэкономит ваше время и усилия. Итак, возьмите свой любимый редактор кода и приступайте!
Метод 1: использование функций getColumnDimensions иcalculateColumnWidths
use PhpOffice\PhpSpreadsheet\IOFactory;
// Load the spreadsheet file
$spreadsheet = IOFactory::load('path/to/your/spreadsheet.xlsx');
// Get the active sheet
$sheet = $spreadsheet->getActiveSheet();
// Autosize all columns
$sheet->getColumnDimensions()->setAutoSize(true);
$sheet->calculateColumnWidths();
// Save the modified spreadsheet
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('path/to/save/spreadsheet.xlsx');
Метод 2: перебор столбцов и установка ширины вручную
use PhpOffice\PhpSpreadsheet\IOFactory;
// Load the spreadsheet file
$spreadsheet = IOFactory::load('path/to/your/spreadsheet.xlsx');
// Get the active sheet
$sheet = $spreadsheet->getActiveSheet();
// Autosize all columns
$lastColumn = $sheet->getHighestColumn();
for ($column = 'A'; $column <= $lastColumn; $column++) {
$sheet->getColumnDimension($column)->setAutoSize(true);
}
// Save the modified spreadsheet
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('path/to/save/spreadsheet.xlsx');
Метод 3. Использование функции getDefaultColumnDimension
use PhpOffice\PhpSpreadsheet\IOFactory;
// Load the spreadsheet file
$spreadsheet = IOFactory::load('path/to/your/spreadsheet.xlsx');
// Get the active sheet
$sheet = $spreadsheet->getActiveSheet();
// Autosize all columns
$defaultColumnDimension = $sheet->getDefaultColumnDimension();
$defaultColumnDimension->setAutoSize(true);
// Save the modified spreadsheet
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('path/to/save/spreadsheet.xlsx');
Метод 4: использование стиля электронной таблицы
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Style\Alignment;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
// Load the spreadsheet file
$spreadsheet = IOFactory::load('path/to/your/spreadsheet.xlsx');
// Get the active sheet
$sheet = $spreadsheet->getActiveSheet();
// Autosize all columns
$sheet->getStyle('A:Z')->getAlignment()->setWrapText(true);
$sheet->getStyle('A:Z')->getAlignment()->setVertical(Alignment::VERTICAL_TOP);
$sheet->getStyle('A:Z')->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_GENERAL);
// Save the modified spreadsheet
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('path/to/save/spreadsheet.xlsx');
В этой статье мы рассмотрели несколько методов автоматического изменения размера всех столбцов в PhpSpreadsheet. Независимо от того, предпочитаете ли вы использовать встроенные функции или собственный стиль, теперь вы можете без особых усилий идеально вписать данные в свои электронные таблицы. Больше никаких ручных настроек! Так что давайте, попробуйте эти методы и испытайте радость от аккуратно организованных данных с помощью всего лишь нескольких строк кода.