PHPExcel-如何将边界应用于从mysql数据加载的单元格的动态范围


PHPExcel - How to apply borders to dynamic range of cells loaded from mysql data

我尝试了下面提到的所有内容,但都没有成功。我需要数据体/单元格周围的边框,不包括标题行。范围从单元格A2开始到作为最后一列的E;它的行。数据有时会多达4000条记录或更多。我甚至将WAMP的php.ini执行超时时间增加到300以进行测试。

如果每一行都只单独使用,那么下面的行就可以正常工作,如果全部使用,最终会出现超时30秒的致命错误!

    $objPHPExcel->getActiveSheet()->getStyle("A".($rowNumber-1))->applyFromArray($styleBordersArray, False);
    $objPHPExcel->getActiveSheet()->getStyle("B".($rowNumber-1))->applyFromArray($styleBordersArray, False);
    $objPHPExcel->getActiveSheet()->getStyle("C".($rowNumber-1))->applyFromArray($styleBordersArray, False);
    $objPHPExcel->getActiveSheet()->getStyle("D".($rowNumber-1))->applyFromArray($styleBordersArray, False);
    $objPHPExcel->getActiveSheet()->getStyle("E".($rowNumber-1))->applyFromArray($styleBordersArray, False);

以下行不起作用,超时30秒的致命错误!

$objPHPExcel->getActiveSheet()->getStyle("A".($rowNumber-1).":E".($rowNumber-1))->applyFromArray($styleBordersArray, False);

遵循这条线可以很好地工作,但不是所需的布局!!只是想看看。

    $objPHPExcel->getActiveSheet()->getStyle("A".($rowNumber-1).":C".($rowNumber-1))->applyFromArray($styleBordersArray, False);

以下行不起作用,php.ini增加后超时300秒的致命错误!

    $objPHPExcel->getActiveSheet()->getStyle("D".($rowNumber-1).":E".($rowNumber-1))->applyFromArray($styleBordersArray, False);

对于任何有相同问题的人,在范围前选择以下代码行,applyFromArray解决了问题:

    set_time_limit(20);

然后按照要求进行全量程跟踪,如下所示:

    $objPHPExcel->getActiveSheet()->getStyle("A".($rowNumber-1).":E".($rowNumber-1))->applyFromArray($styleBordersArray, False);