>  기사  >  백엔드 개발  >  PHP에서 Excel 데이터를 읽고 지정된 형식으로 변환하는 방법

PHP에서 Excel 데이터를 읽고 지정된 형식으로 변환하는 방법

PHPz
PHPz원래의
2023-03-28 11:28:121683검색

웹 애플리케이션 개발에서 Excel 파일은 매우 광범위하고 일반적인 데이터 소스 형식입니다. 그러나 Excel 파일의 데이터 형식은 대상 응용 프로그램과 호환되지 않을 수 있습니다. 따라서 Excel 데이터를 필요한 데이터 형식으로 변환하는 방법이 필요합니다. 이 기사에서는 PHP에서 Excel 파일을 가져오고 데이터 형식을 변환하는 방법을 소개합니다.

1단계: PHPExcel 라이브러리 설치

PHPExcel은 Excel 파일을 읽고 쓰기 위한 PHP 라이브러리입니다. Composer를 사용하여 이 라이브러리를 설치할 수 있습니다. 터미널에 다음 명령을 입력하세요:

composer require phpoffice/phpexcel

이렇게 하면 PHPExcel 라이브러리와 해당 종속 항목이 다운로드되어 설치됩니다.

2단계: 코드 작성

이 단계에서는 Excel 파일을 읽고 필요한 데이터 형식으로 변환하는 PHP 코드를 작성합니다. 다음 코드는 PHPExcel을 통해 Excel 파일을 읽고 이를 배열로 변환하는 방법을 보여줍니다.

<?php
require_once &#39;vendor/autoload.php&#39;;

$inputFileType = &#39;Excel5&#39;; //xls格式
$inputFileName = &#39;example.xls&#39;;
$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 &#39;vendor/autoload.php&#39;;

$inputFileType = &#39;Excel5&#39;; //xls格式
$inputFileName = &#39;example.xls&#39;;
$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 &#39;vendor/autoload.php&#39;;

$inputFileType = &#39;Excel5&#39;; //xls格式
$inputFileName = &#39;example.xls&#39;;
$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.