[php] PhpSpreadsheet을 사용하여 데이터 그룹핑

PhpSpreadsheet은 PHP로 엑셀 파일을 생성, 편집 및 읽기 위한 강력한 라이브러리입니다. 이 라이브러리를 사용하면 엑셀 파일에서 데이터를 그룹화하고 관리할 수 있습니다. 이 글에서는 PhpSpreadsheet을 사용하여 데이터를 그룹화하는 방법에 대해 알아보겠습니다.

데이터 그룹핑이란?

데이터 그룹핑이란 서로 관련된 데이터를 묶어서 표시하거나 숨기는 것을 의미합니다. 이를 통해 데이터를 구조화하고 사용자가 필요한 데이터에 집중할 수 있도록 도와줍니다.

PhpSpreadsheet을 사용하여 데이터 그룹핑하기

1. Worksheet 생성

가장 먼저 PhpSpreadsheet을 사용하여 워크시트를 생성해야 합니다. 워크시트를 생성하는 예제 코드는 다음과 같습니다.

require 'vendor/autoload.php';

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

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();

2. 데이터 입력

이제 워크시트에 데이터를 입력합니다. 아래는 간단한 예제 코드입니다.

$sheet->setCellValue('A1', '이름');
$sheet->setCellValue('B1', '나이');
$sheet->setCellValue('A2', '홍길동');
$sheet->setCellValue('B2', 30);
$sheet->setCellValue('A3', '김철수');
$sheet->setCellValue('B3', 25);

3. 데이터 그룹핑

그룹핑을 위해서는 데이터의 범위를 지정하고 해당 범위를 그룹핑하면 됩니다. 아래는 데이터를 그룹핑하는 예제 코드입니다.

$sheet->mergeCells('A5:B5');
$sheet->setCellValue('A5', '그룹 1');
$sheet->getRowDimension(5)->setOutlineLevel(1)->setVisible(false)->setCollapsed(true);

위 코드에서는 A5부터 B5까지의 범위를 합치고, 해당 범위를 ‘그룹 1’로 설정하며, 행의 콜랍스드(Collapsed) 속성을 true로 설정하여 데이터가 숨겨지도록 합니다.

4. 파일로 저장

마지막으로, 작업한 내용을 파일로 저장합니다.

$writer = new Xlsx($spreadsheet);
$writer->save('그룹화된데이터.xlsx');

위 코드를 실행하면 ‘그룹화된데이터.xlsx’ 파일이 생성되고, 데이터 그룹핑이 적용된 상태로 저장됩니다.

이렇게 PhpSpreadsheet을 사용하여 데이터를 그룹핑할 수 있습니다. 데이터 그룹핑을 활용하면 엑셀 파일을 보다 효율적으로 관리하고 시각적으로 표현할 수 있습니다.