웹 애플리케이션 개발에서 Excel 파일은 매우 광범위하고 일반적인 데이터 소스 형식입니다. 그러나 Excel 파일의 데이터 형식은 대상 응용 프로그램과 호환되지 않을 수 있습니다. 따라서 Excel 데이터를 필요한 데이터 형식으로 변환하는 방법이 필요합니다. 이 기사에서는 PHP에서 Excel 파일을 가져오고 데이터 형식을 변환하는 방법을 소개합니다.
1단계: PHPExcel 라이브러리 설치
PHPExcel은 Excel 파일을 읽고 쓰기 위한 PHP 라이브러리입니다. Composer를 사용하여 이 라이브러리를 설치할 수 있습니다. 터미널에 다음 명령을 입력하세요:
composer require phpoffice/phpexcel
이렇게 하면 PHPExcel 라이브러리와 해당 종속 항목이 다운로드되어 설치됩니다.
2단계: 코드 작성
이 단계에서는 Excel 파일을 읽고 필요한 데이터 형식으로 변환하는 PHP 코드를 작성합니다. 다음 코드는 PHPExcel을 통해 Excel 파일을 읽고 이를 배열로 변환하는 방법을 보여줍니다.
<?php require_once 'vendor/autoload.php'; $inputFileType = 'Excel5'; //xls格式 $inputFileName = 'example.xls'; $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); print_r($sheetData); ?>
위의 예에서는 먼저 읽을 Excel 파일 형식과 파일 이름을 지정합니다. 그런 다음 PHPExcel 판독기 개체를 만들고 해당 load() 메서드를 사용하여 Excel 파일을 엽니다. 마지막으로 PHPExcel 객체의 toarray() 메서드를 사용하여 Excel 데이터를 배열로 변환하고 배열을 인쇄합니다.
이제 Excel 데이터를 배열로 변환했습니다. 그러나 대상 애플리케이션에는 다른 데이터 형식이 필요할 수 있으므로 이 배열에서 추가 형식 변환을 수행해야 합니다.
다음은 Excel 데이터를 JSON 형식으로 변환하는 샘플 코드입니다.
<?php require_once 'vendor/autoload.php'; $inputFileType = 'Excel5'; //xls格式 $inputFileName = 'example.xls'; $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); $jsonData = json_encode($sheetData); echo $jsonData; ?>
위의 예에서는 PHP의 json_encode() 함수를 사용하여 Excel 배열을 JSON 형식으로 변환하고 인쇄합니다.
3단계: 데이터 유효성 검사 및 변환
두 번째 단계에서는 Excel 데이터를 필요한 형식으로 변환했지만 데이터의 유효성을 검사하고 변환해야 합니다. 예를 들어 날짜/시간을 표준 시간 형식으로 변환하고, 숫자 문자열을 숫자 유형으로 변환하는 등의 작업을 수행할 수 있습니다.
다음은 간단한 날짜/시간 형식 변환 예입니다.
<?php require_once 'vendor/autoload.php'; $inputFileType = 'Excel5'; //xls格式 $inputFileName = 'example.xls'; $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); foreach($sheetData as $key => $row) { if($key > 1) { $sheetData[$key][3] = strtotime($row[3]); } } $jsonData = json_encode($sheetData); echo $jsonData; ?>
위 예에서는 배열의 각 행을 반복하고 4열의 날짜/시간을 Unix 타임스탬프 형식으로 변환합니다.
결론
PHPExcel 라이브러리를 사용하면 Excel 데이터를 PHP 애플리케이션으로 쉽게 가져와서 필요한 형식으로 변환할 수 있습니다. 그러나 형식 변환을 수행하기 전에 데이터의 정확성과 일관성을 보장하기 위해 데이터 유효성 검사 및 변환 문제를 신중하게 고려해야 합니다.
위 내용은 PHP에서 Excel 데이터를 읽고 지정된 형식으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!