如何在laravel excel中更改所有单元格的高度和宽度

时间:2015-03-28 10:28:59

标签: php laravel

我想在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');

请帮我解决这个问题。

感谢。

1 个答案:

答案 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');