PHPSpreadsheet中垂直和水平居中文本

时间:2020-05-28 05:33:25

标签: php phpspreadsheet

我尝试使用PHPSpreadsheet调用为电子表格设置样式。 我想将文本垂直和水平居中。 我的工作是这样:

$spreadsheet = new Spreadsheet();
$spreadsheet->setActiveSheetIndex(0)->setCellValue('A1', 'Name');
$spreadsheet->getActiveSheet()->getStyle('A1')->getFont()->setBold(true);
...
...
...
foreach (range('A', 'E') as $columnID) {
    $spreadsheet->getActiveSheet()->getColumnDimension($columnID)->setAutoSize(true);
    $spreadsheet->getActiveSheet()->getStyle($columnID)->getAlignment()->setHorizontal('center');
    $spreadsheet->getActiveSheet()->getStyle($columnID)->getAlignment()->setVertical('center');
}

但是当我打开excel文件时,文本未居中。 我在做什么错了?

1 个答案:

答案 0 :(得分:0)

好吧,问题是,它不能与范围一起使用。 您需要这样做:

$spreadsheet->getActiveSheet()->getStyle('D1')->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_RIGHT);
$spreadsheet->getActiveSheet()->getStyle('D1')->getAlignment()->setVertical(\PhpOffice\PhpSpreadsheet\Style\Alignment::VERTICAL_TOP);

您必须添加单元格数字