본문 바로가기
개발

PHP로 엑셀 다중 시트 생성하는 방법

by 농담곰이 2023. 5. 6.
반응형

PHP에서 PhpSpreadsheet 라이브러리를 사용하여 다중 시트를 포함하는 엑셀 파일을 생성하는 방법을 안내하겠습니다. PhpSpreadsheet는 PHPExcel의 후속 작업으로, 최신 PHP 버전을 지원하며 더 많은 기능을 제공합니다.

1. PhpSpreadsheet 라이브러리 설치:
Composer를 사용하여 PhpSpreadsheet 라이브러리를 설치합니다. 터미널에서 다음 명령을 실행합니다.

```bash
composer require phpoffice/phpspreadsheet
```

2. 다중 시트를 포함하는 엑셀 파일 생성:
PhpSpreadsheet 라이브러리를 로드하고 다중 시트를 포함하는 엑셀 파일을 생성하는 코드를 작성합니다.

```php
<?php
require 'vendor/autoload.php';

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

// 새 스프레드시트 생성
$spreadsheet = new Spreadsheet();

// 첫 번째 시트 생성 및 데이터 추가
$sheet1 = $spreadsheet->getActiveSheet();
$sheet1->setTitle('Sheet 1');
$sheet1->setCellValue('A1', 'Hello');
$sheet1->setCellValue('B1', 'World');

// 두 번째 시트 생성 및 데이터 추가
$sheet2 = $spreadsheet->createSheet();
$sheet2->setTitle('Sheet 2');
$sheet2->setCellValue('A1', 'PHP');
$sheet2->setCellValue('B1', 'PhpSpreadsheet');

// 생성된 엑셀 파일을 브라우저로 출력
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="multi_sheet_example.xlsx"');
header('Cache-Control: max-age=0');

$writer = new Xlsx($spreadsheet);
$writer->save('php://output');
```


이제 위 코드를 실행하면 두 개의 시트가 포함된 엑셀 파일이 다운로드됩니다. 각 시트에 데이터를 추가하려면 `$sheet->setCellValue()` 메소드를 사용하여 셀 값을 설정하십시오.

이 예제에서는 PhpSpreadsheet 라이브러리의 일부 기능만 사용했습니다. PhpSpreadsheet 라이브러리는 스타일, 이미지, 차트 등의 다양한 기능을 제공합니다. 자세한 내용은 PhpSpreadsheet 공식 문서를 참조하십시오: https://phpspreadsheet.readthedocs.io/

반응형

댓글