无法为列设置边框 - phpexcel

问题描述 投票:0回答:2

我在我的应用程序中使用 PhpExcel。 当我使用下面的代码为单个单元格设置边框时,它工作正常。但是当我将它用于列(“A”)中的所有单元格时,它会抛出以下错误:

致命错误:C:\xampp\htdocs 中允许的内存大小 134217728 字节已耗尽(尝试分配 24 字节) 在\xls-class\PHPExcel\Worksheet.php 第 1219 行

定义边框样式:

$border_style= array('borders' => array('right' => array('style' => PHPExcel_Style_Border::BORDER_THIN)));

应用于“A”列中的所有单元格:

$sheet->getStyle("A")->applyFromArray($border_style);
php phpexcel xls
2个回答
1
投票

您不能将样式应用于列,只能应用于单个单元格或单元格区域

$sheet->getStyle("A1:A65535")->applyFromArray($border_style);

0
投票

您可以在单元格或单元格范围上应用边框,例如以下代码有效 对我来说:

 public static function afterSheet(AfterSheet $event)
{
    $sheet = $event->sheet->getDelegate();

    $sheet->getStyle('A4:Z5')->applyFromArray([
        'borders' => [
            'allBorders' => [
                'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN,
                'color' => ['argb' => '000000'],
            ],
        ],
 ]);

}

只需在导出类中实现该函数即可。

© www.soinside.com 2019 - 2024. All rights reserved.