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 중국어 웹사이트의 기타 관련 기사를 참조하세요!