PHP로 Excel 파일을 읽는 방법과 일반적인 질문에 대한 답변

PHPz
풀어 주다: 2023-06-09 11:44:01
원래의
3384명이 탐색했습니다.

PHP 및 FAQ로 Excel 파일을 읽는 방법

Excel은 매우 일반적인 스프레드시트 파일 형식이며 많은 비즈니스와 데이터가 Excel 파일에 저장됩니다. 개발 과정에서 Excel 파일의 데이터를 시스템으로 가져와야 하는 경우 PHP를 사용하여 Excel 파일을 읽어야 합니다. 이 기사에서는 PHP로 Excel 파일을 읽는 방법을 소개하고 일반적인 질문에 답변합니다.

1. PHP로 Excel 파일 읽는 방법

1. PHPExcel 클래스 라이브러리 사용

PHPExcel은 Excel 파일의 데이터를 쉽게 읽을 수 있는 PHP 클래스 라이브러리입니다. Composer.json 파일에 PHPExcel 구성 요소 패키지를 추가하면 작곡가 명령을 사용하여 설치할 수 있습니다.

설치가 완료된 후 PHPExcel 클래스 라이브러리를 코드에 도입하고 PHPExcel_IOFactory::load() 메서드를 사용하여 Excel 파일을 열고 PHP의 루프 문을 사용하여 데이터를 탐색하고 읽습니다.

다음은 엑셀 파일을 읽는 샘플 코드입니다.

require_once '/path/to/PHPExcel.php';

// 여기서 경로는 엑셀 파일의 절대 경로입니다.
$reader = PHPExcel_IOFactory:: load('/ path/to/example.xlsx');
// Excel 파일의 모든 워크시트 가져오기
$sheets = $reader->getAllSheets();

$data = array();
// 루프 워크시트의 각 데이터를 읽으려면
foreach($sheets as $sheet) {

// 获取当前工作表的数据行数和列数
$rowCount = $sheet->getHighestRow(); // 数据行数
$columnCount = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn()); // 数据列数

// 循环获取每行数据
for ($i = 1; $i <= $rowCount; $i++) {
    // 循环获取每列数据
    $row = array();
    for ($j = 0; $j < $columnCount; $j++) {
        // 通过坐标获取单元格数据
        $cellValue = $sheet->getCellByColumnAndRow($j, $i)->getValue();
        // 将数据存入数组
        $row[] = $cellValue;
    }
    // 将行数据存入数组
    $data[] = $row;
}
로그인 후 복사

}

var_dump($data);

2 PHPOffice/PhpSpreadsheet 클래스 라이브러리를 사용하세요

PhpSpreadsheet는 PHPExcel용 대체 클래스 라이브러리입니다. 더 나은 성능과 더 완벽한 기능을 제공합니다. 작곡가 명령을 통해 설치할 수 있습니다.

다음은 PhpSpreadsheet를 사용하여 Excel 파일을 읽는 샘플 코드입니다.

require_once '/path/to/vendor/autoload.php';

use PhpOfficePhpSpreadsheetIOFactory;

// 여기서 경로는 절대 경로입니다. Excel 파일
$ reader = IOFactory::createReaderForFile('/path/to/example.xlsx');
// Excel 파일을 열고 모든 데이터를 메모리로 읽어옵니다
$spreadsheet = $reader->load('/ path/to/ example.xlsx');

$data = array();
//모든 워크시트 및 행에 대해 반복
foreach ($spreadsheet->getActiveSheet()->getRowIterator() as $row) {

$rowData = array();
// 迭代所有单元格
foreach ($row->getCellIterator() as $cell) {
    // 获取单元格数据
    $cellValue = $cell->getValue();
    // 将数据存入数组
    $rowData[] = $cellValue;
}
// 将行数据存入数组
$data[] = $rowData;
로그인 후 복사

}

var_dump($data);

2. 자주 묻는 질문

1. Excel에서 공백을 처리하는 방법은 무엇입니까?

엑셀 표에는 불필요한 공백이 자주 나타나 데이터를 읽을 때 처리가 필요합니다. Trim() 함수를 사용하여 문자열의 양쪽 끝에서 공백을 제거할 수 있습니다.

다음 샘플 코드는 Excel 데이터를 읽을 때 공백을 제거하는 방법을 보여줍니다.

require_once '/path/to/PHPExcel.php';

$reader = PHPExcel_IOFactory::load('/path/to/example.xlsx ' );
$data = array();
foreach ($reader->getActiveSheet()->getRowIterator() as $row) {

$rowData = array();
foreach ($row->getCellIterator() as $cell) {
    $cellValue = $cell->getValue();
    $cellValue = trim($cellValue); // 去除空格
    $rowData[] = $cellValue;
}
$data[] = $rowData;
로그인 후 복사

}

var_dump($data);

2. Excel에 날짜가 있나요?

Excel의 날짜 값은 실제로 숫자이므로 데이터를 읽은 후 형식을 지정해야 합니다. PHP의 date() 함수를 사용하여 숫자를 날짜 형식으로 변환할 수 있습니다.

다음은 샘플 코드입니다.

require_once '/path/to/PHPExcel.php';

$reader = PHPExcel_IOFactory::load('/path/to/example.xlsx');
$data = array () ;
foreach ($reader->getActiveSheet()->getRowIterator() as $row) {

$rowData = array();
foreach ($row->getCellIterator() as $cell) {
    // 获取单元格数据
    $cellValue = $cell->getValue();
    // 如果当前单元格是日期值,则进行格式化
    if (PHPExcel_Shared_Date::isDateTime($cell)) {
        $cellValue = PHPExcel_Shared_Date::ExcelToPHP( $cellValue ); // 将数字转换为时间戳
        $dateValue = date("Y-m-d H:i:s", $cellValue); // 格式化日期
        $rowData[] = $dateValue;
    } else {
        $rowData[] = $cellValue;
    }
}
$data[] = $rowData;
로그인 후 복사

}

var_dump($data);

3. Excel에서 숫자 형식을 처리하는 방법은 무엇입니까?

Excel의 숫자 값에는 천 단위 구분 기호, 소수 자릿수 등이 있을 수 있으며, 데이터를 읽은 후 형식을 지정해야 합니다. PHP의 number_format() 함수를 사용하여 숫자 형식을 지정할 수 있습니다.

다음은 샘플 코드입니다.

require_once '/path/to/PHPExcel.php';

$reader = PHPExcel_IOFactory::load('/path/to/example.xlsx');
$data = array () ;
foreach ($reader->getActiveSheet()->getRowIterator() as $row) {

$rowData = array();
foreach ($row->getCellIterator() as $cell) {
    // 获取单元格数据
    $cellValue = $cell->getValue();
    // 如果当前单元格是数字值,则进行格式化
    if (is_numeric($cellValue)) {
        $cellFormat = $cell->getStyle()->getNumberFormat()->getFormatCode(); // 获取单元格格式
        $cellValue = number_format($cellValue, PHPExcel_Style_NumberFormat::toFormattedString($cellValue, $cellFormat), '.', ''); // 进行格式化
        $rowData[] = $cellValue;
    } else {
        $rowData[] = $cellValue;
    }
}
$data[] = $rowData;
로그인 후 복사

}

var_dump($data);

위는 PHP로 Excel 파일을 읽는 방법과 자주 묻는 질문 내용에 대한 답변입니다. PHPExcel 또는 PhpSpreadsheet 클래스 라이브러리를 사용하여 Excel 파일 데이터를 쉽게 읽을 수 있습니다. 동시에 Excel에서 공백, 날짜 및 숫자 형식을 처리하는 데 주의해야 합니다.

위 내용은 PHP로 Excel 파일을 읽는 방법과 일반적인 질문에 대한 답변의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿