我想让单元格值居中对齐。我的输出如下所示:
我的预期输出应该是:
我希望每一列都在中间。我尝试了以下代码:
$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
等。我如何才能正确地做到这一点?
发布于 2021-03-30 07:49:17
除了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- for vertical alignment:
- `Alignment::VERTICAL_BOTTOM` or `'bottom'`
- `Alignment::VERTICAL_TOP` or `'top'`
- `Alignment::VERTICAL_CENTER` or `'center'`
- `Alignment::VERTICAL_JUSTIFY` or `'justify'`
- `Alignment::VERTICAL_DISTRIBUTED` or `'distributed'` (Excel2007 only)
这些代码的来源是source。
https://stackoverflow.com/questions/55141313
复制相似问题