Spout
ODS, XLSX 및 CSV 파일용 PHP 라이브러리
Excel®(XLSX, CSV) 및 OpenOffice™(ODS)에서 스프레드시트를 만들고, 읽고, 조작할 수 있는 오픈 소스 PHP 라이브러리입니다.
스파우트란?
Spout은 ODS, XLSX 및 CSV 파일 읽기 및 쓰기와 같은 스프레드시트 조작 작업에서 소프트웨어 개발자를 돕는 오픈 소스 PHP 라이브러리입니다. Spout을 사용하면 개발자는 셀, 행 및 테두리 스타일을 사용하여 스프레드시트를 처음부터 만들고 편집을 위해 기존 파일을 로드할 수 있습니다.
Spout은 다양한 유형의 스프레드시트를 읽고 생성할 수 있는 간단하고 통합된 API를 제공하므로 개발자 친화적입니다. 또한 코드를 최소한으로 변경하면서 한 유형의 스프레드시트에서 다른 유형으로 전환할 수 있습니다. 메모리 사용량을 매우 낮게 유지하면서 작은 스프레드시트 파일과 매우 큰 스프레드시트 파일을 처리할 수 있습니다. 스프레드시트 파일을 처리하는 데 3MB의 메모리만 필요합니다.
Spout PHP 라이브러리 설치 방법
Spout에는 PHP 버전 7.1 이상이 필요합니다. 전제 조건이 충족되면 Composer에서 Spout을 설치합니다.
Composer에서 Spout 설치
$ composer require box/spout
ODS, XLSX 및 CSV 읽기 및 쓰기를 위한 PHP 라이브러리
Spout을 사용하면 소프트웨어 개발자가 3가지 인기 있는 형식으로 스프레드시트 파일을 처음부터 만들 수 있습니다. 읽는 동안 Spout은 파일 확장자를 기반으로 스프레드시트 리더 유형을 추측합니다. 확장이 표준이 아닌 경우 특정 리더를 직접 생성할 수 있습니다.
PHP를 통해 ODS 읽기
- ODS 파일 형식에 대한 판독기 만들기
- ODS 파일 경로를 로드 방법으로 전달하여 읽습니다.
- getSheetIterator()를 통해 ODS 워크시트를 반복합니다.
- getRowIterator()를 통해 워크시트 행을 반복합니다.
- 읽거나 쓸 ODS 행의 셀 가져오기
Spout을 통해 ODS 읽기 - PHP Excel 라이브러리
use Box\Spout\Reader\Common\Creator\ReaderEntityFactory;
$reader = ReaderEntityFactory::createODSReader('/path/to/file.ods');
$reader->open($filePath);
foreach ($reader->getSheetIterator() as $sheet) {
foreach ($sheet->getRowIterator() as $row) {
// do stuff with the row
$cells = $row->getCells();
...
}
}
$reader->close();
PHP를 통해 기존 스프레드시트에 데이터 추가
Spout은 개발자에게 데이터를 추가하여 기존 스프레드시트를 업데이트할 수 있는 기능을 제공합니다. 기존 스프레드시트에 새 데이터를 추가하는 것은 매우 일반적인 방법입니다. Spout API는 대용량 스프레드시트로 작업하는 동안 메모리 문제를 피하기 위해 전체 스프레드시트 표현을 메모리에 유지하지 않습니다. 스프레드시트를 수정하려면 기존 인스턴스와 유사한 새 인스턴스를 만들고 필요한 데이터를 새 스프레드시트에 추가합니다.
특정 시트에서 데이터 읽기
Spout API를 사용하면 PHP 개발자가 스프레드시트 내의 특정 시트에서 데이터에 액세스하고 데이터를 읽을 수 있습니다. 일반적으로 스프레드시트에는 여러 워크시트가 포함되어 있습니다. 사용자가 한 시트의 데이터만 읽고 다른 시트는 건너뛰는 데 관심이 있는 경우. 사용자는 스프레드시트의 이름과 위치만 알면 됩니다.