C#代碼實現(xiàn)在Excel中創(chuàng)建雷達圖
Excel 雷達圖(也稱為蜘蛛圖或網(wǎng)絡(luò)圖)用于在不同類別中比較多個數(shù)據(jù)系列。通過在多軸坐標上繪制數(shù)據(jù)點,雷達圖能夠直觀清晰地展示數(shù)據(jù)的均衡性與偏差情況,因此常用于績效指標分析、市場數(shù)據(jù)對比等需要多維度比較的場景。本文將介紹如何在 C# 中實現(xiàn) Excel 雷達圖的創(chuàng)建方法。
- 在 Excel 中創(chuàng)建簡單雷達圖
- 在 Excel 中創(chuàng)建填充型雷達圖
環(huán)境準備
在開始之前,需要在 .NET 項目中引入相關(guān) DLL 依賴,可通過 NuGet 或下載方式添加到項目中進行引用。
PM> Install-Package Spire.XLS
在 Excel 中創(chuàng)建簡單雷達圖(C#)
可以通過在工作表中添加雷達圖類型來實現(xiàn)標準雷達圖的創(chuàng)建,整體流程如下:
- 創(chuàng)建一個 Workbook 工作簿實例。
- 通過
Workbook.Worksheets[sheetIndex]獲取指定工作表。 - 在單元格中填充圖表數(shù)據(jù)并設(shè)置相應(yīng)的單元格樣式。
- 在工作表中添加雷達圖類型(Radar Chart)。
- 為圖表設(shè)置數(shù)據(jù)區(qū)域(Data Range)。
- 調(diào)整圖表的位置,并設(shè)置圖例和標題。
- 將生成的 Excel 文件保存到指定路徑。
示例代碼如下:
using Spire.Xls;
using System.Drawing;
namespace ExcelRadarChart
{
class Program
{
static void Main(string[] args)
{
// 創(chuàng)建一個工作簿實例
Workbook workbook = new Workbook();
// 獲取第一個工作表
Worksheet sheet = workbook.Worksheets[0];
// 向指定單元格添加圖表數(shù)據(jù)
sheet.Range["A1"].Value = "評分維度";
sheet.Range["A2"].Value = "溝通能力";
sheet.Range["A3"].Value = "經(jīng)驗";
sheet.Range["A4"].Value = "工作效率";
sheet.Range["A5"].Value = "領(lǐng)導力";
sheet.Range["A6"].Value = "解決問題能力";
sheet.Range["A7"].Value = "團隊合作";
sheet.Range["B1"].Value = "Jonathan";
sheet.Range["B2"].NumberValue = 4;
sheet.Range["B3"].NumberValue = 3;
sheet.Range["B4"].NumberValue = 4;
sheet.Range["B5"].NumberValue = 3;
sheet.Range["B6"].NumberValue = 5;
sheet.Range["B7"].NumberValue = 5;
sheet.Range["C1"].Value = "Ryan";
sheet.Range["C2"].NumberValue = 2;
sheet.Range["C3"].NumberValue = 5;
sheet.Range["C4"].NumberValue = 4;
sheet.Range["C5"].NumberValue = 4;
sheet.Range["C6"].NumberValue = 3;
sheet.Range["C7"].NumberValue = 3;
// 設(shè)置字體樣式
sheet.Range["A1:C1"].Style.Font.IsBold = true;
sheet.Range["A1:C1"].Style.Font.Size = 11;
sheet.Range["A1:C1"].Style.Font.Color = Color.White;
// 設(shè)置行高和列寬
sheet.Rows[0].RowHeight = 20;
sheet.Range["A1:C7"].Columns[0].ColumnWidth = 15;
// 設(shè)置單元格樣式
sheet.Range["A1:C1"].Style.Color = Color.DarkBlue;
sheet.Range["A2:C7"].Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
sheet.Range["A2:C7"].Style.Borders[BordersLineType.EdgeBottom].Color = Color.DarkBlue;
sheet.Range["B1:C7"].HorizontalAlignment = HorizontalAlignType.Center;
sheet.Range["A1:C7"].VerticalAlignment = VerticalAlignType.Center;
// 在工作表中添加雷達圖
Chart chart = sheet.Charts.Add(ExcelChartType.Radar);
// 設(shè)置圖表位置
chart.LeftColumn = 4;
chart.TopRow = 4;
chart.RightColumn = 14;
chart.BottomRow = 29;
// 設(shè)置圖表的數(shù)據(jù)區(qū)域
chart.DataRange = sheet.Range["A1:C7"];
chart.SeriesDataFromRange = false;
// 設(shè)置并格式化圖表標題
chart.ChartTitle = "員工績效考核";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 14;
// 設(shè)置圖例位置
chart.Legend.Position = LegendPositionType.Corner;
// 保存生成的 Excel 文件
workbook.SaveToFile("ExcelRadarChart.xlsx", ExcelVersion.Version2016);
}
}
}在 Excel 中創(chuàng)建填充型雷達圖(C#)
填充型雷達圖是標準雷達圖的一種變體,其特點是在每個數(shù)據(jù)點之間的區(qū)域填充顏色,更直觀地展示數(shù)據(jù)的分布情況。使用 C# 創(chuàng)建填充型雷達圖的步驟如下:
- 創(chuàng)建一個工作簿實例。
- 通過
Workbook.Worksheets[sheetIndex]獲取指定工作表。 - 在單元格中添加圖表數(shù)據(jù),并設(shè)置單元格樣式。
- 在工作表中添加填充型雷達圖(Filled Radar Chart)。
- 設(shè)置圖表的數(shù)據(jù)范圍(Data Range)。
- 調(diào)整圖表位置,并設(shè)置圖例和標題。
- 將生成的 Excel 文件保存到指定路徑。
示例代碼如下:
using Spire.Xls;
using System.Drawing;
namespace ExcelRadarChart
{
class Program
{
static void Main(string[] args)
{
// 創(chuàng)建一個工作簿實例
Workbook workbook = new Workbook();
// 獲取第一個工作表
Worksheet sheet = workbook.Worksheets[0];
// 在指定單元格中添加圖表數(shù)據(jù)
sheet.Range["A1"].Value = "評分維度";
sheet.Range["A2"].Value = "溝通能力";
sheet.Range["A3"].Value = "經(jīng)驗";
sheet.Range["A4"].Value = "工作效率";
sheet.Range["A5"].Value = "領(lǐng)導力";
sheet.Range["A6"].Value = "解決問題能力";
sheet.Range["A7"].Value = "團隊合作";
sheet.Range["B1"].Value = "Jonathan";
sheet.Range["B2"].NumberValue = 4;
sheet.Range["B3"].NumberValue = 3;
sheet.Range["B4"].NumberValue = 4;
sheet.Range["B5"].NumberValue = 3;
sheet.Range["B6"].NumberValue = 5;
sheet.Range["B7"].NumberValue = 5;
sheet.Range["C1"].Value = "Ryan";
sheet.Range["C2"].NumberValue = 2;
sheet.Range["C3"].NumberValue = 5;
sheet.Range["C4"].NumberValue = 4;
sheet.Range["C5"].NumberValue = 4;
sheet.Range["C6"].NumberValue = 3;
sheet.Range["C7"].NumberValue = 3;
// 設(shè)置字體樣式
sheet.Range["A1:C1"].Style.Font.IsBold = true;
sheet.Range["A1:C1"].Style.Font.Size = 11;
sheet.Range["A1:C1"].Style.Font.Color = Color.White;
// 設(shè)置行高和列寬
sheet.Rows[0].RowHeight = 20;
sheet.Range["A1:C7"].Columns[0].ColumnWidth = 15;
// 設(shè)置單元格樣式
sheet.Range["A1:C1"].Style.Color = Color.DarkBlue;
sheet.Range["A2:C7"].Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
sheet.Range["A2:C7"].Style.Borders[BordersLineType.EdgeBottom].Color = Color.DarkBlue;
sheet.Range["B1:C7"].HorizontalAlignment = HorizontalAlignType.Center;
sheet.Range["A1:C7"].VerticalAlignment = VerticalAlignType.Center;
// 在工作表中添加填充型雷達圖
Chart chart = sheet.Charts.Add(ExcelChartType.RadarFilled);
// 設(shè)置圖表位置
chart.LeftColumn = 4;
chart.TopRow = 4;
chart.RightColumn = 14;
chart.BottomRow = 29;
// 設(shè)置圖表的數(shù)據(jù)范圍
chart.DataRange = sheet.Range["A1:C7"];
chart.SeriesDataFromRange = false;
// 設(shè)置并格式化圖表標題
chart.ChartTitle = "員工績效考核";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 14;
// 設(shè)置圖例位置
chart.Legend.Position = LegendPositionType.Corner;
// 保存生成的 Excel 文件
workbook.SaveToFile("FilledRadarChart.xlsx", ExcelVersion.Version2016);
}
}
}總結(jié)
本文演示了如何在 C# 中創(chuàng)建填充型雷達圖,通過設(shè)置數(shù)據(jù)、樣式與圖表屬性,實現(xiàn)多維數(shù)據(jù)的可視化展示。整個過程包括工作簿創(chuàng)建、數(shù)據(jù)填充、樣式調(diào)整、圖表生成以及文件保存,步驟清晰且易于實現(xiàn)。
填充型雷達圖能夠直觀對比多個指標的差異,適用于績效評估、數(shù)據(jù)分析等多維度場景,幫助更高效地呈現(xiàn)和理解數(shù)據(jù)。
到此這篇關(guān)于C#代碼實現(xiàn)在Excel中創(chuàng)建雷達圖的文章就介紹到這了,更多相關(guān)C# Excel創(chuàng)建雷達圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實現(xiàn)數(shù)據(jù)去重的方式總結(jié)
這篇文章主要來和大家一起來討論一下關(guān)于C#數(shù)據(jù)去重的常見的幾種方式,每種方法都有其特點和適用場景,感興趣的小伙伴可以了解一下2023-07-07
解析如何正確使用SqlConnection的實現(xiàn)方法
本篇文章對如何正確使用SqlConnection的實現(xiàn)方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05
深入理解C# abstract和virtual關(guān)鍵字
深入理解C# abstract和virtual關(guān)鍵字,學習c#的朋友可以參考下。2011-06-06

