programing

PHPExcel 병합 셀에서 텍스트 중심 지정 방법

testmans 2023. 7. 29. 08:15
반응형

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 문서 출력:

enter image description here

이 셀만 정렬하려면 다음과 같은 작업을 수행할 수 있습니다.

    $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");

enter image description here

이 방법을 사용하여 수직 정렬을 설정할 수도 있습니다.

$style_cell = array(
   'alignment' => array(
       'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
       'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER,
   ) 
); 

이 셀을 가운데에 수직으로 정렬합니다.

병합된 열을 사용할 때 PHPExcel_Style_Alignment::를 사용하여 중앙에 배치했습니다.PHExcel_Style_Alignment 대신 HIRAULTIL_CENTERINUous:수평_중심

// this will work in  Excel2007
$object->getActiveSheet()->setCellValueByColumnAndRow(0, 1, "UTI - AMC  LTD.  - DOFA ");
$style = array(
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER,
)
);

$object->getDefaultStyle()->applyFromArray($style);
$object->getActiveSheet()->mergeCells('A1:H1'); 

아래 코드와 같이 applyFromArray를 사용하거나 setHorizontal 및 setVertical을 설정 선형으로 설정할 수 있습니다.

$objPHPExcel->getActiveSheet()->getStyle("A1")->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle("A1")->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);

OR

$objPHPExcel->getActiveSheet()->getStyle("A1")->getAlignment()->applyFromArray(
    array(
        "horizontal" => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER, 
        "vertical" => \PHPExcel_Style_Alignment::VERTICAL_CENTER
    )
);

언급URL : https://stackoverflow.com/questions/21285884/how-to-center-the-text-in-phpexcel-merged-cell

반응형