Excel 차트 만들기 C++

차트는 데이터를 간결하게 표시하는 훌륭한 도구입니다. 또한 데이터를 시각적으로 나타내므로 많은 양의 데이터를 쉽게 사용할 수 있습니다. 월예산 비교 또는 제품 채택률과 같은 데이터를 표시해야 하는 상황에서 차트가 도움이 될 수 있습니다. 이에 비추어 이 기사에서는 C++를 사용하여 Excel 파일에서 차트를 만드는 방법을 설명합니다.

엑셀 차트 생성을 위한 C++ API

Aspose.Cells for C++는 Microsoft Excel을 설치하지 않고도 Excel 파일을 만들고 읽고 수정할 수 있는 네이티브 C++ 라이브러리입니다. API는 Excel 파일에서 차트 생성도 지원합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.

PM> Install-Package Aspose.Cells.Cpp

C++를 사용하여 Excel에서 꺾은선형 차트 만들기

꺾은선형 차트를 생성하려면 차트를 추가할 때 ChartType\Line 열거형 값을 사용합니다. 다음은 Excel 파일에서 꺾은선형 차트를 만드는 단계입니다.

다음은 C++를 사용하여 Excel에서 꺾은선형 차트를 만드는 샘플 코드입니다.

// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");

// 출력 엑셀 파일의 경로
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));

// 새 통합 문서 만들기
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// 기본적으로 생성되는 첫 번째 워크시트 가져오기
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// 셀에 샘플 값 추가
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);

// 워크시트에 차트 추가
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);

// 새로 추가된 차트의 인스턴스에 접근
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// "A1" 셀에서 "B3" 범위의 차트에 SeriesCollection(차트 데이터 소스) 추가
chart->GetNISeries()->Add(new String("A1:B3"), true);

// 엑셀 파일 저장
workbook->Save(outputChartTypeLine);
라인 차트

샘플 코드로 생성된 꺾은선형 차트

C++를 사용하여 Excel에서 피라미드 차트 만들기

피라미드형 차트를 생성하려면 ChartType\Pyramid 열거형 값을 사용하여 차트를 추가할 때 차트 종류를 지정합니다. 다음은 Excel 파일에서 피라미드 차트를 만드는 단계입니다.

다음은 C++를 사용하여 Excel에서 피라미드 차트를 만드는 샘플 코드입니다.

// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");

// 출력 엑셀 파일의 경로
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));

// 새 통합 문서 만들기
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// 기본적으로 생성되는 첫 번째 워크시트 가져오기
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// 셀에 샘플 값 추가
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);

// 워크시트에 차트 추가
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);

// 새로 추가된 차트의 인스턴스에 접근
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// "A1" 셀에서 "B3" 범위의 차트에 SeriesCollection(차트 데이터 소스) 추가
chart->GetNISeries()->Add(new String("A1:B3"), true);

// 엑셀 파일 저장
workbook->Save(outputChartTypePyramid);
피라미드 차트

샘플 코드로 생성된 피라미드 차트

C++를 사용하여 Excel에서 거품형 차트 만들기

거품형 차트를 생성하려면 ChartType\Bubble 열거형 값을 IWorksheet->GetICharts()->Add() 메서드에 전달합니다. 다음은 Excel 파일에서 거품형 차트를 만드는 단계입니다.

다음은 C++를 사용하여 Excel에서 거품형 차트를 만드는 샘플 코드입니다.

// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");

// 출력 엑셀 파일의 경로
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));

// 새 통합 문서 만들기
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// 기본적으로 생성되는 첫 번째 워크시트 가져오기
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// 차트 시리즈에 대한 데이터 채우기
// Y 값
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Y 값"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// 거품 크기
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("거품 크기"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// X 값
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("X 값"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);

// 첫 번째 열 너비 설정
worksheet->GetICells()->SetColumnWidth(0, 12);

// 워크시트에 차트 추가
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);

// 새로 추가된 차트의 인스턴스에 접근
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// B1에서 D1까지의 차트에 SeriesCollection(차트 데이터 소스) 추가
chart->GetNISeries()->Add(new String("B1:D1"), true);

// 거품 크기 설정
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));

// X축 값 설정
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));

// Y축 값 설정
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));

// 엑셀 파일 저장
workbook->Save(outputChartTypeBubble);
거품형 차트

샘플 코드로 생성된 거품형 차트

추가 지원되는 차트

위에 표시된 차트 외에도 C++용 Aspose.Cells는 많은 추가 차트 유형을 지원합니다. ChartType 열거형 값을 보면 지원되는 차트의 전체 목록을 볼 수 있습니다.

무료 라이선스 받기

임시 무료 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.

결론

이 기사에서는 C++를 사용하여 Excel 스프레드시트에서 차트를 만드는 방법을 배웠습니다. 특히, Aspose.Cells for C++ API를 사용하여 선, 피라미드 및 거품 차트를 만드는 방법을 살펴보았습니다. 또한 API가 Excel 파일에서 생성할 수 있는 많은 다른 차트를 지원한다는 것을 확인했습니다. API는 차트 외에도 Excel 파일 작업을 위한 많은 추가 기능을 제공합니다. API에 대한 자세한 내용은 공식 문서에서 확인할 수 있습니다. 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의하십시오.

또한보십시오