Как центрировать текст «тест»?
Это мой код:
<?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");
Вывод документа Excel:
если вы хотите выровнять только эти ячейки, вы можете сделать что-то вроде этого:
$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);
<?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"); ?>
Решение состоит в том, чтобы установить стиль ячейки через эту функцию:
$sheet->getStyle('A1')->getAlignment()->applyFromArray( array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,) );
<?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->getStyle('A1')->getAlignment()->applyFromArray( array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,) ); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save("test.xlsx");