PHPSpreadsheet
스프레드시트 파일용 오픈 소스 PHP 라이브러리
Microsoft Excel 및 LibreOffice Calc 파일 읽기, 쓰기, 조작 및 처리.
PHPSpreadsheet 시작하기
우선 PhpSpreadsheet를 사용하여 개발하려면 PHP 버전 7.1 이상이 필요합니다. PhpSpreadsheet를 프로젝트에 설치하는 권장 방법은 composer를 사용하는 것입니다. 프로젝트 루트 디렉터리에서 터미널을 열고 다음 명령을 실행합니다.
다음은 명령입니다.
composer require phpoffice/phpspreadsheet
Composer는 명령줄에서 직접 실행할 수 있는 편리한 설치 프로그램을 제공합니다. 이 파일을 다운로드하거나 GitHub에서 자유롭게 검토하세요. 설치 방법에는 두 가지가 있습니다. 작곡가. 프로젝트의 일부로 로컬로 설치하거나 시스템 전체 실행 파일로 전역적으로 설치합니다.
스프레드시트 셀 작업
PHPSpreadsheet를 사용하면 셀에 액세스하고 좌표로 값을 설정할 수 있습니다. 새 셀을 만들고 그 안에 수식을 설정할 수도 있습니다. 날짜, 시간 및 숫자 앞에 0이 있는 다양한 유형의 데이터를 차지하도록 셀을 구성할 수도 있습니다. PHPSpreadsheet를 사용하면 배열에서 셀 범위를 설정할 수 있을 뿐만 아니라 반복자 또는 인덱스를 사용하여 셀을 순환할 수 있습니다. 사용자 친화적인 데이터 입력을 허용하기 위해 값 바인더를 사용할 수도 있습니다.
새 XLSX 만들기 - PHP
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Create a new Spreasheet
$spreadsheet = new Spreadsheet();
// Get active sheet
$sheet = $spreadsheet->getActiveSheet();
// Set cell value
$sheet->setCellValue('A1', 'File Format Developer Guide !');
// Save in Xlsx format
$writer = new Xlsx($spreadsheet);
$writer->save('FileFormat.xlsx');
자동 필터 생성 및 적용
PHPSpreadsheet를 사용하면 자동 필터 범위를 적용하여 자동 필터에 정의한 기준과 일치하는 행만 필터링하여 표시할 수 있습니다. 필터를 두 개 이상의 열에 첨가제로 적용할 수 있습니다.
PHPSpreadsheet를 사용하면 워크시트에 자동 필터 영역을 설정할 수 있습니다. 자동 필터 표현식을 만들고 읽고 쓸 수 있습니다. 또한 단순 필터, 공백 일치, DateGroup 필터, 사용자 정의 필터, 동적 필터 및 상위 10개 필터와 같은 다양한 유형의 필터를 사용할 수 있습니다.
XLSX에서 자동 필터 적용 - PHP
<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Load existing file without filters
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('withoutFilter.xlsx');
// Select active worksheet
$spreadsheet->setActiveSheetIndex(0);
$spreadsheet->getActiveSheet()->setAutoFilter($spreadsheet->getActiveSheet()->calculateWorksheetDimension());
// Set active filters
$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
// Filter the Country column on a filter value of Germany
$autoFilter->getColumn('C')
->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
->createRule()
->setRule(
Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
'Germany'
);
// Save file
$writer = new Xlsx($spreadsheet);
$writer->save('Filter.xlsx');
공식 계산 엔진
비즈니스 스프레드시트에서 기본에서 고급 수준의 계산을 수행하기 위해 PHPSpreadsheet의 공식 계산 엔진을 쉽게 불러올 수 있으며 나머지는 알아서 처리합니다.
PHPSpreadsheet의 수식 파서는 행/열이 삽입/제거되는 동안 수식을 자동으로 조정할 수 있습니다. Microsoft Excel 수식은 실행되기 전에 PHP 코드로 변환됩니다. 성능을 높이기 위해 계산 캐시를 사용하여 공식의 결과를 보관합니다. 마찬가지로 각 개별 워크시트는 별도의 캐시에 의해 유지 관리됩니다.