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. When working with IronXL's comprehensive Excel library, you can programmatically create these visualizations to enhance your reports and dashboards.

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ć swoje serie danych, ustawić tytuł i pozycję legendy oraz Plot—wszystko w zaledwie 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. This flexibility allows you to create Excel spreadsheets with rich visualizations tailored to your data presentation needs.

  1. Użyj CreateChart, aby określić typ wykresu i lokalizację arkusza.
  2. Dodaj serie za pomocą 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 wyrenderować 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. When you load spreadsheet data, you can visualize it effectively using column charts to highlight differences between data points. 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. They're effective when you want to convert spreadsheet data into visual representations of market share, budget allocation, or category distribution:

: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. This is useful when editing Excel files that contain pre-existing visualizations.

W istniejących wykresach można edytować położenie legendy i tytuł wykresu. Aby edytować wykres, należy najpierw go pobrać, 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
Pie chart showing monthly data from Jan-Jun with color-coded segments and legend below
Pie chart showing monthly data distribution from January to June with color-coded segments and legend

Jak usunąć wykresy z programu Excel?

Czasami trzeba uporządkować pliki Excel, usuwając nieaktualne lub zbędne wykresy. This is common when managing worksheets containing multiple visualizations. Aby usunąć istniejący wykres z arkusza kalkulacyjnego, należy najpierw pobrać wykres z właściwości Charts. Otrzymasz listę wykresów. Przekaż obiekt docelowy 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. When creating complex reports or dashboards, you can combine charts with other Excel features like conditional formatting to create comprehensive data visualizations.

W aplikacjach biznesowych wykresy często wymagają dynamicznego generowania na podstawie zapytań do baz danych lub źródeł danych w czasie rzeczywistym. IronXL łatwo integruje się z strukturami danych .NET, co pozwala na tworzenie wykresów z DataTables, Lists lub dowolnej kolekcji enumeratywnej. 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 1,950,735 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronXl.Excel
uruchom próbkę zobacz, jak Twoje dane stają się arkuszem.