我努力让所有单元格将上下文设置为中心并自动扩展,这样它就不会相互重叠。
所以我尝试做的是:
将每个单元格中的信息设置为居中,因为它更适合打印为 PDF/等。
根据单元格中的文本量使单元格展开。我不希望 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);
对于细胞扩张,我还没有找到解决方案来尝试。
如果可能的话,我很乐意只用一条命令在我所有的单元格上完成这两项操作。
原文由 stAMy 发布,翻译遵循 CC BY-SA 4.0 许可协议
这可以解决问题:
对于自动调整(单元格自动扩展),请执行以下操作:
笔记
您必须为每一列单独执行此操作,因为
getColumnDimension
方法只能接受一列作为参数。您已经了解了水平对齐方式,但值得注意的是,您可以使用一个命令设置多个列的对齐方式。
至于设置单元格值,我希望您将它与与格式和样式有关的任何事情分开进行,只是为了分离关注点和可读性。
干杯。