본문 바로가기
기타

php8 에서 PHPExcel 사용하기

by zgabriel 2025. 7. 18.
728x90
반응형

 

php7버전을 사용하다 php8로 업버전을 하니 PHPExcel 에서 오류가 발생해서

 

해당 오류와 경고 부분을 모두 수정한 버전을 만들었다. 

 

무설치로 사용할 수 있고 예제 소스는 아래와 같다. 

 

-----------------------------------------------------------------------------

include "./PHPExcel.php";

$objPHPExcel = new PHPExcel();
$xls_filename = "test_".date("YmdH");

$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.'1','참여일'); 
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.'1','이름'); 
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.'1','휴대폰'); 
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('D'.'1','.'); 
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(30);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(30);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(100);
$objPHPExcel->getActiveSheet()->getStyle('A1:P1')->getAlignment()->sethORIZONTAL(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

foreach($rows as $i=>$v){
$rowNum = $i+2;

$objPHPExcel->setActiveSheetIndex(0)->setCellValueExplicit("A{$rowNum}", substr($v['reg_date'],0, 16), PHPExcel_Cell_DataType::TYPE_STRING);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue("B{$rowNum}", $v['user_name']);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue("C{$rowNum}", $v['user_phone']);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue("D{$rowNum}", $v['user_value1']);
}

$objPHPExcel->getActiveSheet()->setTitle($xls_filename);
$objPHPExcel->getActiveSheet()->getStyle("A1:E{$rowNum}")->getFont()->setName('굴림')->setSize(10);
$objPHPExcel->getActiveSheet()->getStyle("A1:A{$rowNum}")->getAlignment()->sethORIZONTAL(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle("B1:B{$rowNum}")->getAlignment()->sethORIZONTAL(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getActiveSheet()->getStyle("C1:C{$rowNum}")->getAlignment()->sethORIZONTAL(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->setActiveSheetIndex(0);

 

PHPExcel.zip
0.92MB

 

 

728x90
반응형