如何在PHPExcel合并单元格中居中显示文本
如何将文本“测试”居中 这是我的代码:如何在PHPExcel合并单元格中居中显示文本,php,phpexcel,Php,Phpexcel,如何将文本“测试”居中 这是我的代码: <?php /** Error reporting */ error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); date_default_timezone_set('Europe/London'); /** Include PHPExcel */ req
<?php
/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');
/** Include PHPExcel */
require_once '../Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
$sheet = $objPHPExcel->getActiveSheet();
$sheet->setCellValueByColumnAndRow(0, 1, "test");
$sheet->mergeCells('A1:B1');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save("test.xlsx");
解决方案是通过此函数设置单元格样式:
$sheet->getStyle('A1')->getAlignment()->applyFromArray(
array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,)
);
完整代码
如果只想对齐此单元格,可以执行以下操作:
$style = array(
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
)
);
$sheet->getStyle("A1:B1")->applyFromArray($style);
但是,如果要将此样式应用于所有单元格,请尝试以下操作:
$style = array(
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
)
);
$sheet->getDefaultStyle()->applyFromArray($style);
使用合并列时,我通过使用PHPExcel\u样式对齐::水平\u中心\u连续而不是PHPExcel\u样式对齐::水平\u中心将其居中我们也可以使用这种方式设置垂直对齐
$style_cell = array(
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER,
)
);
使用此单元格将垂直对齐设置为中间。您也可以设置垂直对齐setVERTICAL(PHPExcel_样式对齐::PHPExcel_样式对齐::垂直中心)代码>在最新的PhpExcel中它是这样工作的:$style=array('horizontal'=>PhpExcel\u style\u Alignment::horizontal\u CENTER,);也就是说,不使用“alignment”数组键将所有列值居中使用:$objPHPExcelSheet->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel\u Style\u alignment::HORIZONTAL\u center);对于laravel 5.x,请使用\PHPExcel\u样式对齐::水平中心
代替PHPExcel\u样式对齐::水平中心
<?php
/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');
/** Include PHPExcel */
require_once '../Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
$sheet = $objPHPExcel->getActiveSheet();
$sheet->setCellValueByColumnAndRow(0, 1, "test");
$sheet->mergeCells('A1:B1');
$sheet->getActiveSheet()->getStyle('A1:B1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save("test.xlsx");
?>
$style_cell = array(
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER,
)
);