반응형
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 */
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");
이 방법으로 수직 정렬을 설정할 수도 있습니다.
$style_cell = array(
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER,
)
);
이 셀은 세로로 가운데로 정렬됩니다.
병합 된 열을 사용할 때 PHPExcel_Style_Alignment :: HORIZONTAL_CENTER 대신 PHPExcel_Style_Alignment :: HORIZONTAL_CENTER_CONTINUOUS를 사용하여 중앙에 배치했습니다.
참조 URL : https://stackoverflow.com/questions/21285884/how-to-center-the-text-in-phpexcel-merged-cell
반응형
'IT Share you' 카테고리의 다른 글
폴더의 모든 파일 되돌리기 (0) | 2021.01.06 |
---|---|
MVC4에서 MVC5로 업그레이드 (0) | 2021.01.06 |
Google Cloud 프로젝트 소유권을 이전하는 방법은 무엇입니까? (0) | 2021.01.06 |
Xcode에서 개발 언어 변경 (0) | 2021.01.06 |
Angular2 : 외부 js 파일을 구성 요소로 가져 오기 (0) | 2021.01.06 |