我想在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');
请帮我解决这个问题。
感谢。
答案 0 :(得分:4)
使用以下代码解决此问题
\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');