PHPExcel setAutoSize仅基于第1行

时间:2018-09-22 10:33:19

标签: php phpexcel

在PHPExcel中是否可以仅基于顶部行中的单元格设置列宽。带有setAutoSize(true)的唯一示例将基于列中的所有数据来设置列。我有很长的描述性文本,但我不想自动调整大小,但是最好将带有适配器的列作为标题的头长度。

此代码基于所有行进行设置。我希望它仅基于第1行。

for($col = 'A'; $col !== $worksheet->getHighestColumn(); $col++) {
    $objPHPExcel->getActiveSheet()
    ->getColumnDimension($col)
    ->setAutoSize(true);
}

1 个答案:

答案 0 :(得分:0)

尝试此代码

$columnWidthSet = ["A", "B", "C"]; //for this columns width will be bet to "50"
$width = 50;

for($col = 'A'; $col !== $worksheet->getHighestColumn(); $col++) {

    if (in_array($col, $columnWidthSet)) {
        $objPHPExcel->getActiveSheet()
            ->getColumnDimension($col)
            ->setAutoSize(false)
            ->setWidth($width); // width you want to apply
    } else {
        $objPHPExcel->getActiveSheet()
            ->getColumnDimension($col)
            ->setAutoSize(true);
    }   
}