我正在尝试几天,我不知道为什么它不起作用。我想在中间设置单元格值。我的输出如下:-
我的预期输出如下:-
我希望每一列都必须以我为中心 我试过下面的代码:-
$styleArray = [
'font' => [
'bold' => true,
],
'alignment' => [
'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER,
],
'fill' => [
'fillType' => \PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID,
'startColor' => [
'argb' => '0070C0',
],
'endColor' => [
'argb' => '0070C0',
],
],
];
$spreadsheet->getDefaultStyle()->getFont()->setSize(10);
}
我已经尝试了所有其他属性,例如HORIZONTAL_CENTER,RIGHT,LEFT,JUSTIFY..etc。请帮助我该怎么做。
答案 0 :(得分:5)
您为alignment
设置了错误的键(且键数太少)。您要实现的是文本的垂直 和 水平对齐。
'alignment' => [
'vertical' => \PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_CENTER,
'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,
],
答案 1 :(得分:3)
除了 style array way 之外,您还可以通过方法链接的方式来实现:
$spreadsheet->getActiveSheet()->getStyle($cells)->getAlignment()->setHorizontal($align)
$spreadsheet->getActiveSheet()->getStyle($cells)->getAlignment()->setVertical($align);
$cells
应该是单个单元格 ('A1'
) 或一系列单元格 ('A1:E4'
)。$align
应该是 \PhpOffice\PhpSpreadsheet\Style\Alignment
类(或其字符串值)的常量,以获得所需的对齐方式。
Alignment::HORIZONTAL_GENERAL
或 'general'
Alignment::HORIZONTAL_LEFT
或 'left'
Alignment::HORIZONTAL_RIGHT
或 'right'
Alignment::HORIZONTAL_CENTER
或 'center'
Alignment::HORIZONTAL_CENTER_CONTINUOUS
或 'centerContinuous'
Alignment::HORIZONTAL_JUSTIFY
或 'justify'
Alignment::HORIZONTAL_FILL
或 'fill'
Alignment::HORIZONTAL_DISTRIBUTED
或 'distributed'
(仅限 Excel2007)Alignment::VERTICAL_BOTTOM
或 'bottom'
Alignment::VERTICAL_TOP
或 'top'
Alignment::VERTICAL_CENTER
或 'center'
Alignment::VERTICAL_JUSTIFY
或 'justify'
Alignment::VERTICAL_DISTRIBUTED
或 'distributed'
(仅限 Excel2007)这些的来源是 source。