Jak tworzyć i edytować wykresy Excel w języku C#

How to Create and Edit Excel Charts in C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL umożliwia programistom C# tworzenie, edytowanie i usuwanie wykresów Excel za pomocą prostych wywołań API. Możesz generować kolumny, linie, wykresy kołowe i inne typy wykresów bezpośrednio z danych bez zależności Interop Excel.

W Excelu wykres jest graficzną reprezentacją danych używaną do wizualnego wyświetlania i analizowania informacji. Excel zapewnia różne typy wykresów, takie jak wykresy słupkowe, liniowe i kołowe, z których każdy jest odpowiedni do różnych potrzeb w zakresie danych i analizy. Pracując z kompleksową biblioteką Excel IronXL, możesz programowo tworzyć te wizualizacje, aby wzbogacić swoje raporty i pulpity nawigacyjne.

Szybki start: Utwórz i wykreśl wykres liniowy w kilka sekund

Dzięki IronXL możesz zainstalować, załadować skoroszyt, wywołać CreateChart, dodać serie danych, ustawić tytuł i pozycję legendy, oraz Plot — wszystko to w kilku liniach. Ten przykład pokazuje, jak utworzyć wykres przy użyciu natywnych metod C# bez narzutu Interop.

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel
  2. Skopiuj i uruchom ten fragment kodu.

    // Load workbook and create a line chart with data series
    var chart = workSheet.CreateChart(ChartType.Line, 2, 2, 15, 10).AddSeries("A2:A10","B2:B10").Title = workSheet["B1"].StringValue; 
    // Set title and legend position, then plot the chart
    chart.SetTitle("Quick Line Chart").SetLegendPosition(LegendPosition.Bottom).Plot();
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronXL w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer


Rozpocznij pracę z IronXL


Jak tworzyć wykresy w Excelu?

IronXL obsługuje wykresy kolumnowe, punktowe, liniowe, kołowe, słupkowe i powierzchniowe. Aby utworzyć wykres, określ następujące komponenty. Ta elastyczność pozwala tworzyć arkusze kalkulacyjne Excel z bogatymi wizualizacjami dostosowanymi do potrzeb prezentacji danych.

  1. Użyj CreateChart, aby określić typ wykresu i lokalizację arkusza.
  2. Dodaj serie z AddSeries. Ta metoda akceptuje pojedynczą kolumnę dla niektórych typów wykresów. Pierwszy parametr to wartości osi poziomej. Drugi to wartości osi pionowej.
  3. Opcjonalnie określ nazwę serii, nazwę wykresu i pozycję legendy.
  4. Wywołaj Plot, aby renderować wykres. Wiele wywołań tworzy wiele wykresów.

Let's create charts from the data in the chart.xlsx Excel file. A preview of the data is displayed below:

Arkusz kalkulacyjny z przykładowymi danymi wykresu pokazujący miesięczne liczby zwierząt dla żyraf, słoni i nosorożców od stycznia do czerwca

Jaki jest proces tworzenia wykresów kolumnowych?

Wykresy kolumnowe są idealne do porównywania wartości w różnych kategoriach. Po załadowaniu danych z arkusza kalkulacyjnego można je skutecznie wizualizować za pomocą wykresów kolumnowych, aby podkreślić różnice między punktami danych. Poniższy przykład ilustruje tworzenie wieloseryjnego wykresu kolumnowego z danymi dotyczącymi populacji zwierząt:

:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-column-chart.cs
using IronXL;
using IronXL.Drawing.Charts;

WorkBook workBook = WorkBook.Load("chart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Set the chart type and position
IChart chart = workSheet.CreateChart(ChartType.Column, 5, 5, 20, 10);

string xAxis = "A2:A7";

// Add the series
IChartSeries series = chart.AddSeries(xAxis, "B2:B7");
series.Title = workSheet["B1"].StringValue;

// Add the series
series = chart.AddSeries(xAxis, "C2:C7");
series.Title = workSheet["C1"].StringValue;

// Add the series
series = chart.AddSeries(xAxis, "D2:D7");
series.Title = workSheet["D1"].StringValue;

// Set the chart title
chart.SetTitle("Column Chart");

// Set the legend position
chart.SetLegendPosition(LegendPosition.Bottom);

// Plot the chart
chart.Plot();

workBook.SaveAs("columnChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts

Private workBook As WorkBook = WorkBook.Load("chart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Set the chart type and position
Private chart As IChart = workSheet.CreateChart(ChartType.Column, 5, 5, 20, 10)

Private xAxis As String = "A2:A7"

' Add the series
Private series As IChartSeries = chart.AddSeries(xAxis, "B2:B7")
series.Title = workSheet("B1").StringValue

' Add the series
series = chart.AddSeries(xAxis, "C2:C7")
series.Title = workSheet("C1").StringValue

' Add the series
series = chart.AddSeries(xAxis, "D2:D7")
series.Title = workSheet("D1").StringValue

' Set the chart title
chart.SetTitle("Column Chart")

' Set the legend position
chart.SetLegendPosition(LegendPosition.Bottom)

' Plot the chart
chart.Plot()

workBook.SaveAs("columnChart.xlsx")
$vbLabelText   $csharpLabel
Arkusz kalkulacyjny Excel zawierający tabelę danych dotyczących zwierząt oraz odpowiadający jej zgrupowany wykres kolumnowy z miesięcznymi liczbami dla żyraf, słoni i nosorożców

Jak tworzyć wykresy liniowe?

Wykresy liniowe doskonale nadają się do przedstawiania trendów w czasie. Ponieważ wykresy liniowe wyświetlają te same informacje co wykresy słupkowe, przełączanie się między nimi wymaga jedynie zmiany typu wykresu. To sprawia, że wykresy liniowe są szczególnie przydatne podczas odczytywania plików XLSX zawierających dane szeregów czasowych:

:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-pie-chart.cs
using IronXL;
using IronXL.Drawing.Charts;

WorkBook workBook = WorkBook.Load("chart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Set the chart type and position
IChart chart = workSheet.CreateChart(ChartType.Pie, 5, 5, 20, 10);

string xAxis = "A2:A7";

// Add the series
IChartSeries series = chart.AddSeries(xAxis, "B2:B7");
series.Title = workSheet["B1"].StringValue;

// Set the chart title
chart.SetTitle("Pie Chart");

// Set the legend position
chart.SetLegendPosition(LegendPosition.Bottom);

// Plot the chart
chart.Plot();

workBook.SaveAs("pieChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts

Private workBook As WorkBook = WorkBook.Load("chart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Set the chart type and position
Private chart As IChart = workSheet.CreateChart(ChartType.Pie, 5, 5, 20, 10)

Private xAxis As String = "A2:A7"

' Add the series
Private series As IChartSeries = chart.AddSeries(xAxis, "B2:B7")
series.Title = workSheet("B1").StringValue

' Set the chart title
chart.SetTitle("Pie Chart")

' Set the legend position
chart.SetLegendPosition(LegendPosition.Bottom)

' Plot the chart
chart.Plot()

workBook.SaveAs("pieChart.xlsx")
$vbLabelText   $csharpLabel
Arkusz kalkulacyjny Excel zawierający tabelę danych dotyczących zwierząt oraz odpowiadający jej wykres liniowy z trzema liniami trendu dla żyraf, słoni i nosorożców

Kiedy należy stosować wykresy kołowe?

Wykresy kołowe pokazują proporcje i procenty całości. W przypadku wykresów kołowych potrzebna jest tylko jedna kolumna danych, co sprawia, że są one łatwiejsze do wdrożenia. Są one skuteczne, gdy chcesz przekształcić dane z arkusza kalkulacyjnego w wizualne przedstawienie udziału w rynku, alokacji budżetu lub rozkładu kategorii:

:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-pie-chart.cs
using IronXL;
using IronXL.Drawing.Charts;

WorkBook workBook = WorkBook.Load("chart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Set the chart type and position
IChart chart = workSheet.CreateChart(ChartType.Pie, 5, 5, 20, 10);

string xAxis = "A2:A7";

// Add the series
IChartSeries series = chart.AddSeries(xAxis, "B2:B7");
series.Title = workSheet["B1"].StringValue;

// Set the chart title
chart.SetTitle("Pie Chart");

// Set the legend position
chart.SetLegendPosition(LegendPosition.Bottom);

// Plot the chart
chart.Plot();

workBook.SaveAs("pieChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts

Private workBook As WorkBook = WorkBook.Load("chart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Set the chart type and position
Private chart As IChart = workSheet.CreateChart(ChartType.Pie, 5, 5, 20, 10)

Private xAxis As String = "A2:A7"

' Add the series
Private series As IChartSeries = chart.AddSeries(xAxis, "B2:B7")
series.Title = workSheet("B1").StringValue

' Set the chart title
chart.SetTitle("Pie Chart")

' Set the legend position
chart.SetLegendPosition(LegendPosition.Bottom)

' Plot the chart
chart.Plot()

workBook.SaveAs("pieChart.xlsx")
$vbLabelText   $csharpLabel
Arkusz kalkulacyjny z danymi dotyczącymi dzikiej przyrody oraz wykres kołowy przedstawiający miesięczny rozkład populacji żyraf, z zaznaczonym kwietniem, w którym odnotowano 89 żyraf (21%)

Jak edytować istniejące wykresy?

Podczas pracy z istniejącymi plikami Excel może zaistnieć potrzeba modyfikacji już utworzonych wykresów. IronXL oferuje proste metody edycji istniejących wykresów, umożliwiając aktualizację tytułów, zmianę położenia legend oraz odświeżanie danych. Jest to przydatne podczas edycji plików Excel zawierających istniejące wizualizacje.

W istniejących wykresach można edytować położenie legendy i tytuł wykresu. Aby edytować wykres, najpierw go pobierz, uzyskując dostęp do właściwości Charts i wybierając docelowy wykres. Następnie przejdź do właściwości wykresu, aby wprowadzić zmiany:

:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-edit-chart.cs
using IronXL;
using IronXL.Drawing.Charts;

WorkBook workBook = WorkBook.Load("pieChart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Retrieve the chart
IChart chart = workSheet.Charts[0];

// Edit the legend position
chart.SetLegendPosition(LegendPosition.Top);

// Edit the chart title
chart.SetTitle("Edited Chart");

workBook.SaveAs("editedChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts

Private workBook As WorkBook = WorkBook.Load("pieChart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Retrieve the chart
Private chart As IChart = workSheet.Charts(0)

' Edit the legend position
chart.SetLegendPosition(LegendPosition.Top)

' Edit the chart title
chart.SetTitle("Edited Chart")

workBook.SaveAs("editedChart.xlsx")
$vbLabelText   $csharpLabel
Wykres kołowy przedstawiający miesięczne dane od stycznia do czerwca z kolorowo oznaczonymi segmentami i legendą poniżej
Wykres kołowy przedstawiający miesięczny rozkład danych od stycznia do czerwca z kolorowo oznaczonymi segmentami i legendą

Jak usunąć wykresy z programu Excel?

Czasami trzeba uporządkować pliki Excel, usuwając nieaktualne lub zbędne wykresy. Jest to powszechne podczas zarządzania arkuszami zawierającymi wiele wizualizacji. Aby usunąć istniejący wykres z arkusza kalkulacyjnego, najpierw pobierz wykres z właściwości Charts. Otrzymasz listę wykresów. Przekaż docelowy obiekt wykresu do RemoveChart:

:path=/static-assets/excel/content-code-examples/how-to/create-edit-charts-remove-chart.cs
using IronXL;
using IronXL.Drawing.Charts;
using System.Collections.Generic;

WorkBook workBook = WorkBook.Load("pieChart.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Retrieve the chart
List<IChart> chart = workSheet.Charts;

// Remove the chart
workSheet.RemoveChart(chart[0]);

workBook.SaveAs("removedChart.xlsx");
Imports IronXL
Imports IronXL.Drawing.Charts
Imports System.Collections.Generic

Private workBook As WorkBook = WorkBook.Load("pieChart.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Retrieve the chart
Private chart As List(Of IChart) = workSheet.Charts

' Remove the chart
workSheet.RemoveChart(chart(0))

workBook.SaveAs("removedChart.xlsx")
$vbLabelText   $csharpLabel

Zaawansowane dostosowywanie wykresów

Oprócz podstawowego tworzenia wykresów, IronXL obsługuje zaawansowane opcje dostosowywania. Podczas tworzenia złożonych raportów lub pulpitów nawigacyjnych można łączyć wykresy z innymi funkcjami programu Excel, takimi jak formatowanie warunkowe, aby tworzyć kompleksowe wizualizacje danych.

W aplikacjach biznesowych wykresy często wymagają dynamicznego generowania na podstawie zapytań do baz danych lub źródeł danych w czasie rzeczywistym. IronXL integruje się bezproblemowo z strukturami danych .NET, pozwalając na tworzenie wykresów z DataTables, Lists, lub jakiejkolwiek kolekcji wyliczalnej. Dzięki temu idealnie nadaje się do generowania automatycznych raportów zawierających elementy wizualne.

Podsumowanie

IronXL zapewnia kompletne rozwiązanie do pracy z wykresami Excel w aplikacjach C#. Niezależnie od tego, czy tworzysz nowe wizualizacje, modyfikujesz istniejące, czy usuwasz przestarzałe wykresy, biblioteka IronXL oferuje intuicyjne metody, które nie wymagają interoperacyjności z Excelem. Łącząc funkcjonalność wykresów z innymi funkcjami IronXL, takimi jak manipulacja danymi i formatowanie, możesz tworzyć zaawansowane rozwiązania do automatyzacji Excela, które usprawniają prezentację i analizę danych w aplikacjach .NET.

Często Zadawane Pytania

Jak mogę programowo utworzyć wykresy Excel w C# bez użycia Interopa?

IronXL oferuje proste API do tworzenia wykresów Excel w C# bez zależności od Interopa. Możesz użyć metody CreateChart, aby określić typ i pozycję wykresu, AddSeries, aby dodać dane, oraz Plot, aby narysować wykres - wszystko poprzez natywny kod C#.

Jakie rodzaje wykresów mogę tworzyć w arkuszach Excel używając C#?

IronXL obsługuje tworzenie różnych typów wykresów, w tym kolumnowych, punktowych, liniowych, kołowych, słupkowych i obszarowych. Możesz określić typ wykresu podczas wywoływania metody CreateChart i dostosować każdy wykres za pomocą tytułów, legend i serii danych.

Jak programowo dodać serie danych do wykresu Excel?

Użyj metody AddSeries IronXL, aby dodać dane do swoich wykresów. Metoda przyjmuje zakresy komórek jako parametry - pierwszy dla wartości osi poziomej, a drugi dla wartości osi pionowej. Możesz dodać wiele serii, aby utworzyć wykresy wieloseryjne.

Jaki jest najszybszy sposób na stworzenie wykresu liniowego w Excelu używając C#?

Z IronXL możesz stworzyć wykres liniowy w zaledwie kilku liniach kodu: użyj CreateChart(ChartType.Line) do zainicjowania wykresu, AddSeries() do dodania zakresów danych, SetTitle() dla tytułu wykresu i Plot() do narysowania na arkuszu roboczym.

Czy mogę dostosować właściwości wykresu, takie jak tytuł i pozycja legendy?

Tak, IronXL pozwala na pełną personalizację wykresów Excel. Możesz korzystać z SetTitle() do dodawania tytułów wykresów, SetLegendPosition() do umieszczania legendy (u góry, na dole, po lewej, po prawej) oraz opcjonalnie określić nazwy serii dla lepszej identyfikacji danych.

Czy muszę mieć zainstalowany Microsoft Excel, aby programowo tworzyć wykresy?

Nie, IronXL działa niezależnie, nie wymagając instalacji Microsoft Excel. Obsługuje wszystkie operacje na plikach Excel i tworzenie wykresów wewnętrznie, co czyni go idealnym dla środowisk serwerowych i aplikacji, gdzie Excel nie może być zainstalowany.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 2,134,203 | Wersja: 2026.7 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

Chcesz szybkiego dowodu? PM > Install-Package IronXL.Excel
uruchom próbkę zobacz, jak Twoje dane stają się arkuszem.