如何在 C# 中創建和編輯 Excel 圖表

如何在 C# 中建立和編輯 Excel 圖表

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

IronXL 使 C# 開發人員能夠透過簡單的 API 呼叫以程式設計方式建立、編輯和刪除 Excel 圖表。 您可以直接從資料產生長條圖、折線圖、圓餅圖和其他圖表類型,而無需依賴 Excel Interop。

在 Excel 中,圖表是資料的圖形化表示,用於直觀地顯示和分析資訊。 Excel 提供各種圖表類型,例如長條圖、折線圖和圓餅圖,每種圖表都適用於不同的資料和分析需求。 When working with IronXL's comprehensive Excel library, you can programmatically create these visualizations to enhance your reports and dashboards.

快速入門:幾秒鐘內創建並繪製折線圖

使用 IronXL,您只需幾行程式碼即可完成安裝、載入工作簿、呼叫CreateChart 、新增資料系列、設定標題和圖例位置以及Plot等操作。 本範例展示如何使用原生 C# 方法建立圖表,而無需 Interop 開銷。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronXL

    PM > Install-Package IronXL.Excel

  2. 複製並運行這段程式碼。

    // 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. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronXL,免費試用!
    arrow pointer


開始使用 IronXL


如何在Excel中建立圖表?

IronXL 支援長條圖、散佈圖、折線圖、圓餅圖、長條圖和麵積圖。 若要建立圖表,請指定下列組件。 This flexibility allows you to create Excel spreadsheets with rich visualizations tailored to your data presentation needs.

  1. 使用CreateChart指定圖表類型和工作表位置。
  2. 使用AddSeries新增系列。 此方法對某些圖表類型僅接受單列資料。第一個參數是水平軸值。 第二點是縱軸數值。
  3. (可選)指定係列名稱、圖表名稱和圖例位置。
  4. 呼叫Plot渲染圖表。 多次呼叫會產生多個圖表。

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

包含範例圖表資料的電子表格,顯示了1月至6月長頸鹿、大象和犀牛的月度動物數量。

創建長條圖的流程是什麼?

長條圖非常適合比較不同類別之間的數值。 When you load spreadsheet data, you can visualize it effectively using column charts to highlight differences between data points. 以下範例示範如何使用動物族群資料建立多系列長條圖:

: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");
$vbLabelText   $csharpLabel
Excel電子表格顯示了動物資料表以及相應的分組柱狀圖,其中包含長頸鹿、大象和犀牛的月度數量統計。

如何建立折線圖?

折線圖非常擅長展示隨時間變化的趨勢。由於折線圖和長條圖顯示的資訊相同,因此在兩者之間切換只需更改圖表類型即可。 這使得折線圖在讀取包含時間序列資料的 XLSX 檔案時特別有用:

: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");
$vbLabelText   $csharpLabel
Excel電子表格顯示了動物資料表和對應的折線圖,其中包含長頸鹿、大象和犀牛的三條趨勢線。

何時該使用圓餅圖?

圓餅圖顯示整體的比例和百分比。 餅圖只需要一列數據,因此更容易實現。 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");
$vbLabelText   $csharpLabel
包含野生動物資料的電子表格和圓餅圖顯示了長頸鹿的月度分佈情況,其中4月份長頸鹿數量最多,為89隻(佔21%)。

如何編輯現有圖表?

在使用現有的 Excel 檔案時,您可能需要修改已建立的圖表。 IronXL 提供了編輯現有圖表的簡單方法,讓您更新標題、重新定位圖例和刷新資料。 This is useful when editing Excel files that contain pre-existing visualizations.

您可以編輯現有圖表中的圖例位置和圖表標題。 要編輯圖表,首先需要存取"圖表"屬性並選擇目標圖表來檢索該圖表。 然後存取圖表屬性進行編輯:

: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");
$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

如何從Excel中刪除圖表?

有時需要清理 Excel 文件,刪除過時或不必要的圖表。 This is common when managing worksheets containing multiple visualizations. 若要從電子表格中刪除現有圖表,請先從"圖表"屬性中擷取該圖表。 您將收到一份圖表清單。 將目標圖表物件傳遞給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");
$vbLabelText   $csharpLabel

進階圖表自訂

除了基本的圖表建立功能外,IronXL 還支援進階自訂選項。 When creating complex reports or dashboards, you can combine charts with other Excel features like conditional formatting to create comprehensive data visualizations.

對於商業應用而言,圖表通常需要根據資料庫查詢或即時資料來源動態產生。 IronXL 與 .NET 資料結構無縫集成,可讓您從DataTablesLists或任何可枚舉集合建立圖表。 這使其成為產生包含視覺元素的自動化報告的理想選擇。

概括

IronXL 為在 C# 應用程式中處理 Excel 圖表提供了一套完整的解決方案。 無論是建立新的視覺化圖表、修改現有圖表,或是刪除過時的圖表,該程式庫都提供了無需 Excel Interop 的直覺方法。透過將圖表功能與 IronXL 的其他功能(例如資料操作和格式化)結合,您可以建立複雜的 Excel 自動化解決方案,從而增強 .NET 應用程式中的資料呈現和分析能力。

常見問題解答

如何在不使用 Interop 的情況下,以 C# 程式化的方式建立 Excel 圖表?

IronXL.Excel 提供了一個簡單的 API,可以在 C# 中建立 Excel 圖表,而不需要 Interop 依賴。您可以使用 CreateChart 方法來指定圖表類型和位置,使用 AddSeries 來新增資料,以及使用 Plot 來渲染圖表 - 所有這些都可以透過 C# 原始程式碼來完成。

使用 C# 可以在 Excel 試算表中建立哪些類型的圖表?

IronXL 支援建立各種圖表類型,包括柱狀圖、散點圖、線圖、圓餅圖、條狀圖和面積圖。您可以在呼叫 CreateChart 方法時指定圖表類型,並使用標題、圖例和資料系列自訂每個圖表。

如何以程式化方式在 Excel 圖表中加入資料序列?

使用 IronXL 的 AddSeries 方法將資料新增至您的圖表。此方法接受儲存格範圍作為參數 - 第一個參數為水平軸值,第二個參數為垂直軸值。您可以添加多個序列來創建多序列圖表。

使用 C# 在 Excel 中建立折線圖的最快方法是什麼?

使用 IronXL,您只需幾行代碼即可創建線形圖:使用 CreateChart(ChartType.Line) 初始化圖表,AddSeries() 添加您的資料範圍,SetTitle() 設定圖表標題,Plot() 在工作表上渲染圖表。

我可以自訂標題和圖例位置等圖表屬性嗎?

是的,IronXL.Excel 允許完全自訂 Excel 圖表。您可以使用 SetTitle() 添加圖表標題,使用 SetLegendPosition() 放置圖例(頂部、底部、左側、右側),還可以選擇性地指定系列名稱,以便更好地識別數據。

我需要安裝 Microsoft Excel 才能以程式化方式建立圖表嗎?

不,IronXL 可獨立工作,無需安裝 Microsoft Excel。它在內部處理所有 Excel 檔案作業和圖表建立,因此非常適合伺服器環境和無法安裝 Excel 的應用程式。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。

準備好開始了嗎?
Nuget 下載 1,802,965 | 版本: 2025.12 剛剛發布