我想为Laravel Excel中的所有行应用高度和宽度
我可以通过使用以下代码来更改单个行的高度和宽度
$sheet->setSize('A1', 25, 18);
$sheet->setSize('B1', 25, 18);
$sheet->setSize('C1', 25, 18);
$sheet->setSize('D1', 25, 18);
$sheet->setSize('E1', 25, 18);
$sheet->setSize('F1', 25, 18);
现在的问题是我有成千上万的行,如何管理它?
我有以下代码
\Excel::create('Users Report'.$time, function ($excel) use ($arrUsers) {
$excel->sheet('Users', function ($sheet) use ($arrUsers) {
// Set all margins
$sheet->fromArray($arrUsers, null, 'A1', true);
$sheet->setSize('A1', 25, 18);
$sheet->setSize('B1', 25, 18);
$sheet->setSize('C1', 25, 18);
$sheet->setSize('D1', 25, 18);
$sheet->setSize('E1', 25, 18);
$sheet->setSize('F1', 25, 18);
$sheet->row(1, array(
'Name', 'Username', 'Contact', 'Email', 'Verified', 'Inactivity'
));
// Freeze first row
$sheet->freezeFirstRow();
$sheet->cell('A1:F1', function($cell) {
// Set font
$cell->setFont(array(
'family' => 'Calibri',
'size' => '12',
'bold' => true
));
});
});
})->store('xls')->download('xls');
请帮助我摆脱这种困扰。
谢谢。
最佳答案
使用以下代码解决此问题
\Excel::create('Users Report'.$time, function ($excel) use ($arrUsers) {
$excel->sheet('Users', function ($sheet) use ($arrUsers) {
// Set all margins
$sheet->fromArray($arrUsers, null, 'A1', true);
for( $intRowNumber = 1; $intRowNumber <= count($arrUsers) + 1; $intRowNumber++){
$sheet->setSize('A' . $intRowNumber, 25, 18);
$sheet->setSize('B' . $intRowNumber, 25, 18);
$sheet->setSize('C' . $intRowNumber, 25, 18);
$sheet->setSize('D' . $intRowNumber, 25, 18);
$sheet->setSize('E' . $intRowNumber, 25, 18);
$sheet->setSize('F' . $intRowNumber, 25, 18);
}
$sheet->row(1, array(
'Name', 'Username', 'Contact', 'Email', 'Verified', 'Inactivity'
));
// Freeze first row
$sheet->freezeFirstRow();
$sheet->cell('A1:F1', function($cell) {
// Set font
$cell->setFont(array(
'family' => 'Calibri',
'size' => '12',
'bold' => true
));
});
});
})->store('xls')->download('xls');
关于php - 如何在Laravel Excel中更改所有单元格的高度和宽度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29316062/