C#를 사용하여 Word 차트를 생성하고 사용자 지정하는 방법

발행: (2025년 12월 8일 오후 03:59 GMT+9)
6 min read
원문: Dev.to

Source: Dev.to

보고서 생성 및 데이터 시각화

보고서를 생성하고 데이터를 시각화하는 것은 많은 비즈니스 애플리케이션에서 중요한 작업입니다. Microsoft Word는 문서 작성에 널리 사용되는 도구이지만, 차트를 수동으로 삽입하고 업데이트하는 작업은 번거롭고 오류가 발생하기 쉽습니다. 이 튜토리얼에서는 Spire.Doc for .NET 라이브러리를 사용하여 C#으로 Word 문서 내 차트를 프로그래밍 방식으로 만들고 사용자 정의하는 방법을 보여줍니다.

환경 설정

Word 문서에 차트를 프로그래밍 방식으로 만들려면 Microsoft Office 없이도 Word 파일을 조작할 수 있는 라이브러리가 필요합니다. Spire.Doc for .NET은 차트 생성을 포함한 Word 문서 조작을 위한 포괄적인 기능을 제공합니다.

NuGet을 통한 설치

  1. 새 프로젝트 만들기 – Visual Studio를 열고 새 C# 콘솔 애플리케이션(.NET Core 또는 .NET Framework)을 생성합니다.
  2. NuGet 패키지 설치
    • 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭 → Manage NuGet Packages…
    • Browse 탭에서 Spire.Doc을 검색합니다.
    • Spire.Doc을 선택하고 Install를 클릭합니다.

설치가 완료되면 Word 문서와 차트를 다루는 데 필요한 모든 클래스와 메서드에 접근할 수 있습니다.

차트 유형 및 데이터 시리즈 이해

코드에 들어가기 전에 차트의 기본 구성 요소인 차트 유형데이터 시리즈를 알아두면 도움이 됩니다. Spire.Doc은 Microsoft Word에서 일반적으로 사용되는 다양한 차트 유형을 지원합니다.

일반적인 차트 유형

  • 막대/세로 막대 차트 – 카테고리별 값을 비교합니다.
  • 선 차트 – 시간 흐름이나 순서가 있는 카테고리의 추세를 보여줍니다.
  • 원형 차트 – 전체에 대한 비율을 표시합니다.
  • 버블 차트 – 세 차원( X, Y, 크기)의 데이터를 시각화합니다.

이러한 유형은 Spire.Doc.Fields.Shapes.Charts.ChartType 열거형에 정의되어 있습니다.

데이터 시리즈

데이터 시리즈는 차트에 플롯되는 관련 데이터 포인트들의 집합입니다. 일반적인 요소는 다음과 같습니다.

  • 카테고리(레이블) – 각 데이터 포인트에 대한 텍스트 설명(예: 월, 제품명).
  • – 각 카테고리에 해당하는 숫자 데이터.
  • 추가 값 – 특정 차트 유형에 필요(예: 버블 차트의 크기).

ChartSeriesCollectionChartSeries를 사용해 데이터 시리즈를 관리하고 추가합니다.

단계별 차트 만들기

아래 예시는 간단한 원형 차트를 만드는 과정을 보여주며, 이어서 버블 차트 예시도 제공합니다.

1. 문서 및 섹션 초기화

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using Spire.Doc.Fields.Shapes.Charts; // 차트와 ChartSeries에 필요

// 새 Word 문서 생성
Document doc = new Document();
Section section = doc.AddSection();
Paragraph paragraph = section.AddParagraph();

2. 차트 도형 추가

// 원형 차트 추가 (너비 500, 높이 300)
ShapeObject shape = paragraph.AppendChart(ChartType.Pie, 500.0f, 300.0f);
Chart chart = shape.Chart; // Chart 객체 가져오기

Note: 네임스페이스 충돌이 발생하면 전체 네임스페이스 Spire.Doc.Fields.Shapes.Charts.Chart를 사용하세요.

3. 데이터 시리즈 추가

// 기존 시리즈를 모두 삭제 (새 차트에 권장)
chart.Series.Clear();

// 카테고리와 값 정의
string[] categories = { "Word", "PDF", "Excel" };
double[] dataValues = { 2.7, 3.2, 0.8 };

// 차트에 시리즈 추가
ChartSeries series = chart.Series.Add("Document Types", categories, dataValues);

예시: 버블 차트 만들기

Paragraph newPara = section.AddParagraph();

// 버블 차트 추가
ShapeObject bubbleShape = newPara.AppendChart(ChartType.Bubble, 500, 300);
Chart bubbleChart = bubbleShape.Chart;

bubbleChart.Series.Clear();

ChartSeries bubbleSeries = bubbleChart.Series.Add(
    "Market Share",
    new[] { 2.9, 3.5, 1.1, 4.0, 4.0 }, // X값
    new[] { 1.9, 8.5, 2.1, 6.0, 1.5 }, // Y값
    new[] { 9.0, 4.5, 2.5, 8.0, 5.0 }  // 버블 크기
);

4. 문서 저장

doc.SaveToFile("ChartInWordDocument.docx", FileFormat.Docx);

생성된 Word 문서

C#를 사용하여 Word 문서에 파이 차트와 버블 차트 만들기

고급 사용자 정의

Spire.Doc은 차트 외형과 동작을 세밀하게 조정할 수 있는 다양한 옵션을 제공합니다.

차트 제목

void AppendChartTitle(Chart chart)
{
    ChartTitle title = chart.Title;
    title.Show = true;
    title.Overlay = false; // 플롯 영역과 겹치게 하려면 true로 설정
    title.Text = "Quarterly Software Usage";
    title.CharacterFormat.FontSize = 12;
    // 여기서 추가 서식 지정 가능
}

축, 범례, 데이터 레이블, 색상 등 Chart 객체가 제공하는 속성을 활용해 차트를 더욱 풍부하게 커스터마이즈할 수 있습니다.

Back to Blog

관련 글

더 보기 »