PHP에서 Excel 파일 만들기

스프레드시트는 데이터를 유지, 구성 및 분석하는 데 필수적인 부분이 되었습니다. 요즘 자동화된 솔루션이 더 많이 사용되기 때문에 Excel 문서(XLS/XLSX)를 만들고 조작하는 추세가 등장하고 엄청난 속도로 성장하고 있습니다. 위에서 언급한 시나리오에 따라 이 문서에서는 PHP 기반 웹 응용 프로그램에서 Excel XLSX 또는 XLS 파일을 만드는 방법을 다룹니다.

Excel 파일을 만드는 PHP API

PHP 기반 웹 응용 프로그램에서 Excel 파일을 만들고 조작하기 위해 Java를 통한 PHP용 Aspose.Cells를 사용합니다. Excel 자동화를 위한 다양한 기능을 제공하는 강력한 API입니다. API 패키지는 여기에서 다운로드할 수 있습니다.

용법

다음은 Java를 통해 PHP용 Aspose.Cells를 사용하기 위해 충족해야 하는 전제 조건입니다.

전제 조건을 완료했으면 아래 단계에 따라 테스트를 위해 example.php 파일을 실행합니다.

  1. 다운로드한 API 패키지의 루트 폴더에 Java.inc 파일을 배치합니다.
  2. 명령 프롬프트에서 아래 명령을 사용하여 JavaBridge.jar를 실행합니다.
    • cd aspose.cells

    • %JAVAHOME%\bin\java -Djava.ext.dirs=lib -jar JavaBridge.jar SERVLETLOCAL:8080

  3. 아래 명령을 사용하여 API의 루트 폴더에서 example.php를 실행합니다.
    • PHP 예제.php

PHP를 사용하여 Excel XLS 또는 XLSX 파일 만들기

다음은 PHP를 사용하여 Excel XLSX/XLS 파일을 만드는 단계입니다.

다음 코드 샘플은 PHP를 사용하여 Excel XLSX 파일을 만드는 방법을 보여줍니다.

require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once("aspose.cells.php");

use aspose\cells;

// 통합 문서 클래스의 개체 만들기
$workbook = new cells\Workbook();

// 워크시트에 액세스
$sheets = $workbook->getWorksheets();

// 원하는 워크시트의 셀에 액세스
$cells = $sheets->get(0)->getCells();

// 셀에 값 삽입
$cells->get("A1")->putValue("Hello world!");

// 엑셀 파일 저장
$workbook->save("output.xlsx", cells\SaveFormat::XLSX);

PHP를 사용하여 기존 Excel 파일에 데이터 쓰기

이전 섹션에서는 Excel 파일을 처음부터 만들었습니다. 이제 기존 Excel 파일을 편집하고 데이터를 삽입해 보겠습니다. 다음은 Java를 통해 PHP용 Aspose.Cells를 사용하여 XLSX 파일에 데이터를 쓰는 단계입니다.

다음 코드 샘플은 PHP를 사용하여 Excel 파일을 수정하고 데이터를 쓰는 방법을 보여줍니다.

// Excel 파일을 로드할 통합 문서 클래스의 개체 만들기
$workbook = new cells\Workbook("workbook.xlsx");

// 워크시트에 액세스
$sheets = $workbook->getWorksheets();

// 원하는 워크시트의 셀에 액세스
$cells = $sheets->get(0)->getCells();

// 셀에 값 삽입
$cells->get("A1")->putValue("Hello world!");

// 엑셀 파일 저장
$workbook->save("updated.xlsx");

PHP를 사용하여 Excel 파일에 차트 만들기

다음은 PHP를 사용하여 Excel 파일에 차트를 만드는 단계입니다.

  • Workbook 클래스를 사용하여 새 Excel 파일을 만들거나 기존 파일을 로드합니다.
  • 새 통합 문서가 생성되면 워크시트에 데이터를 추가합니다.
  • $worksheet->getCharts() 메서드를 사용하여 워크시트의 차트 모음을 가져옵니다.
  • $worksheet->getCharts()->add() 메서드를 사용하여 새 차트를 추가합니다.
  • 컬렉션에서 새로 생성된 차트를 가져옵니다.
  • 차트에 대해 NSeries를 설정할 셀의 범위를 지정합니다.
  • $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX) 메서드를 사용하여 통합 문서를 Excel .xlsx 파일로 저장합니다.

다음 코드 샘플은 PHP에서 Excel 파일로 차트를 만드는 방법을 보여줍니다.

// 엑셀 파일 불러오기
$workbook = new Workbook("Book2.xlsx");

// 첫 번째 워크시트의 참조 가져오기
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// 셀에 일부 샘플 값 추가
$cells = $sheet->getCells();
$cell = $cells->get("A1");
$cell->setValue(50);
$cell = $cells->get("A2");
$cell->setValue(100);
$cell = $cells->get("A3");
$cell->setValue(150);
$cell = $cells->get("B1");
$cell->setValue(4);
$cell = $cells->get("B2");
$cell->setValue(20);
$cell = $cells->get("B3");
$cell->setValue(50);

// 워크시트에서 차트 가져오기
$charts = $sheet->getCharts();

// 워크시트에 차트 추가
$chartIndex = $charts->add(ChartType::PYRAMID, 5, 0, 15, 5);
$chart = $charts->get($chartIndex);

// "A1" 범위의 차트에 NSeries(차트 데이터 소스) 추가
// 셀을 "B3"으로
$serieses = $chart->getNSeries();
$serieses->add("A1:B3", true);

// 엑셀 파일 쓰기 
$workbook.save("Excel_with_Chart.xlsx");

PHP를 사용하여 Excel 파일에서 피벗 테이블 만들기

Excel 워크시트의 피벗 테이블은 데이터에 필터를 추가하고, 합계를 계산하고, 데이터를 요약하는 데 사용됩니다. 피벗 테이블은 워크시트의 셀 범위를 사용하여 만들 수 있습니다. 다음은 PHP를 사용하여 Excel 워크시트에서 피벗 테이블을 만드는 단계입니다.

다음 코드 샘플은 PHP를 사용하여 Excel에서 피벗 테이블을 만드는 방법을 보여줍니다.

// 변환할 문서 로드
$workbook = new Workbook("Book2.xlsx");

// 첫 번째 워크시트의 참조 가져오기
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// 셀에 일부 샘플 값 추가
$cells = $sheet->getCells();
$cell->setValue("Sport");
$cell = $cells->get("B1");
$cell->setValue("Quarter");
$cell = $cells->get("C1");
$cell->setValue("Sales");

$cell = $cells->get("A2");
$cell->setValue("Golf");
$cell = $cells->get("A3");
$cell->setValue("Golf");
$cell = $cells->get("A4");
$cell->setValue("Tennis");
$cell = $cells->get("A5");
$cell->setValue("Tennis");
$cell = $cells->get("A6");
$cell->setValue("Tennis");
$cell = $cells->get("A7");
$cell->setValue("Tennis");
$cell = $cells->get("A8");
$cell->setValue("Golf");

$cell = $cells->get("B2");
$cell->setValue("Qtr3");
$cell = $cells->get("B3");
$cell->setValue("Qtr4");
$cell = $cells->get("B4");
$cell->setValue("Qtr3");
$cell = $cells->get("B5");
$cell->setValue("Qtr4");
$cell = $cells->get("B6");
$cell->setValue("Qtr3");
$cell = $cells->get("B7");
$cell->setValue("Qtr4");
$cell = $cells->get("B8");
$cell->setValue("Qtr3");

$cell = $cells->get("C2");
$cell->setValue(1500);
$cell = $cells->get("C3");
$cell->setValue(2000);
$cell = $cells->get("C4");
$cell->setValue(600);
$cell = $cells->get("C5");
$cell->setValue(1500);
$cell = $cells->get("C6");
$cell->setValue(4070);
$cell = $cells->get("C7");
$cell->setValue(5000);
$cell = $cells->get("C8");
$cell->setValue(6430);

// 피벗 테이블 가져오기
$pivotTables = $sheet->getPivotTables();

// 워크시트에 피벗 테이블 추가
$index = $pivotTables->add("=A1:C8", "E3", "PivotTable2");

// 새로 추가된 피벗 테이블의 인스턴스에 액세스
$pivotTable = $pivotTables->get($index);

// 행의 총합계 표시 취소
$pivotTable->setRowGrand(false);

// 첫 번째 필드를 행 영역으로 드래그
$pivotTable->addFieldToArea(PivotFieldType::ROW, 0);

// 두 번째 필드를 열 영역으로 드래그
$pivotTable->addFieldToArea(PivotFieldType::COLUMN, 1);

// 세 번째 필드를 데이터 영역으로 드래그
$pivotTable->addFieldToArea(PivotFieldType::DATA, 2);

// 엑셀 파일 쓰기
$workbook.save("Excel_with_Table.xlsx");

무료 API 라이선스 받기

임시 라이선스를 사용하여 평가 제한 없이 API를 무료로 사용할 수 있습니다.

결론

이 기사에서는 PHP를 사용하여 Excel 파일을 처음부터 만드는 방법을 배웠습니다. 또한 기존 Excel 파일에 데이터를 쓰고 차트 또는 테이블을 생성하는 방법을 살펴보았습니다. 문서를 사용하여 PHP Excel API에 대해 자세히 알아볼 수 있습니다. 질문이 있는 경우 포럼을 통해 언제든지 알려주십시오.

또한보십시오