编程语言
首页 > 编程语言> > 将所有文本置于PHPSpreadsheet中,并使单元格扩展以填充上下文

将所有文本置于PHPSpreadsheet中,并使单元格扩展以填充上下文

作者:互联网

为了使所有单元格都将上下文设置为居中并自动展开,以便彼此不重叠,我有些挣扎.

所以我想做的是:

>将每个单元格中的信息设置为居中,因为这样可以更好地打印到PDF / etc.
>根据单元格中的文本数量来扩展单元格.我不希望A中的信息遍历单元格B.

香港专业教育学院尝试过此代码,但它似乎不起作用:

$styleArray = array(
            'borders' => array(
                'outline' => array(
                    'style' => Alignment::HORIZONTAL_CENTER,
                ),
            ),
        );

        $sheet ->getStyle('A1:D30')->applyFromArray($styleArray);

如果我对一个单元格(中心上下文)执行此操作,它将起作用.这样吗:

$sheet->setCellValue('A2', $activitiesCount)->getStyle('A2')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);

对于尚未扩展的细胞,我尚未找到解决方案.

如果可能的话,我想只用1个命令在所有单元格上都做.

解决方法:

这将达到目的:

对于自动调整大小(单元格自动扩展),请执行以下操作:

$sheet->getColumnDimension('A')->setAutoSize(true);
$sheet->getColumnDimension('B')->setAutoSize(true);

注意

您必须为每一列单独执行此操作,因为getColumnDimension方法只能接受一列作为其参数.

您已经弄清楚了水平对齐方式,但是值得注意的是,您可以使用一个命令设置多个列的对齐方式.

$sheet->getStyle('A:B')->getAlignment()->setHorizontal('center');

至于设置单元格的值,我宁愿您将其与格式化和样式设置无关,只是为了分离关注点和可读性.

干杯.

标签:spreadsheet,styling,phpspreadsheet,php
来源: https://codeday.me/bug/20191108/2009138.html