C#代码实现在Excel中创建雷达图

 更新时间:2026年05月11日 08:34:33   作者:2501_93070778  
本文演示了如何在 C# 中创建填充型雷达图,通过设置数据、样式与图表属性,实现多维数据的可视化展示,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下

Excel 雷达图(也称为蜘蛛图或网络图)用于在不同类别中比较多个数据系列。通过在多轴坐标上绘制数据点,雷达图能够直观清晰地展示数据的均衡性与偏差情况,因此常用于绩效指标分析、市场数据对比等需要多维度比较的场景。本文将介绍如何在 C# 中实现 Excel 雷达图的创建方法。

  • 在 Excel 中创建简单雷达图
  • 在 Excel 中创建填充型雷达图

环境准备

在开始之前,需要在 .NET 项目中引入相关 DLL 依赖,可通过 NuGet 或下载方式添加到项目中进行引用。

PM> Install-Package Spire.XLS

在 Excel 中创建简单雷达图(C#)

可以通过在工作表中添加雷达图类型来实现标准雷达图的创建,整体流程如下:

  1. 创建一个 Workbook 工作簿实例。
  2. 通过 Workbook.Worksheets[sheetIndex] 获取指定工作表。
  3. 在单元格中填充图表数据并设置相应的单元格样式。
  4. 在工作表中添加雷达图类型(Radar Chart)。
  5. 为图表设置数据区域(Data Range)。
  6. 调整图表的位置,并设置图例和标题。
  7. 将生成的 Excel 文件保存到指定路径。

示例代码如下:

using Spire.Xls;
using System.Drawing;

namespace ExcelRadarChart
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个工作簿实例
            Workbook workbook = new Workbook();

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 向指定单元格添加图表数据
            sheet.Range["A1"].Value = "评分维度";
            sheet.Range["A2"].Value = "沟通能力";
            sheet.Range["A3"].Value = "经验";
            sheet.Range["A4"].Value = "工作效率";
            sheet.Range["A5"].Value = "领导力";
            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;

            // 设置字体样式
            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;

            // 设置行高和列宽
            sheet.Rows[0].RowHeight = 20;
            sheet.Range["A1:C7"].Columns[0].ColumnWidth = 15;

            // 设置单元格样式
            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);

            // 设置图表位置
            chart.LeftColumn = 4;
            chart.TopRow = 4;
            chart.RightColumn = 14;
            chart.BottomRow = 29;

            // 设置图表的数据区域
            chart.DataRange = sheet.Range["A1:C7"];
            chart.SeriesDataFromRange = false;

            // 设置并格式化图表标题
            chart.ChartTitle = "员工绩效考核";
            chart.ChartTitleArea.IsBold = true;
            chart.ChartTitleArea.Size = 14;

            // 设置图例位置
            chart.Legend.Position = LegendPositionType.Corner;

            // 保存生成的 Excel 文件
            workbook.SaveToFile("ExcelRadarChart.xlsx", ExcelVersion.Version2016);
        }
    }
}

在 Excel 中创建填充型雷达图(C#)

填充型雷达图是标准雷达图的一种变体,其特点是在每个数据点之间的区域填充颜色,更直观地展示数据的分布情况。使用 C# 创建填充型雷达图的步骤如下:

  1. 创建一个工作簿实例。
  2. 通过 Workbook.Worksheets[sheetIndex] 获取指定工作表。
  3. 在单元格中添加图表数据,并设置单元格样式。
  4. 在工作表中添加填充型雷达图(Filled Radar Chart)。
  5. 设置图表的数据范围(Data Range)。
  6. 调整图表位置,并设置图例和标题。
  7. 将生成的 Excel 文件保存到指定路径。

示例代码如下:

using Spire.Xls;
using System.Drawing;

namespace ExcelRadarChart
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个工作簿实例
            Workbook workbook = new Workbook();

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 在指定单元格中添加图表数据
            sheet.Range["A1"].Value = "评分维度";
            sheet.Range["A2"].Value = "沟通能力";
            sheet.Range["A3"].Value = "经验";
            sheet.Range["A4"].Value = "工作效率";
            sheet.Range["A5"].Value = "领导力";
            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;

            // 设置字体样式
            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;

            // 设置行高和列宽
            sheet.Rows[0].RowHeight = 20;
            sheet.Range["A1:C7"].Columns[0].ColumnWidth = 15;

            // 设置单元格样式
            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);

            // 设置图表位置
            chart.LeftColumn = 4;
            chart.TopRow = 4;
            chart.RightColumn = 14;
            chart.BottomRow = 29;

            // 设置图表的数据范围
            chart.DataRange = sheet.Range["A1:C7"];
            chart.SeriesDataFromRange = false;

            // 设置并格式化图表标题
            chart.ChartTitle = "员工绩效考核";
            chart.ChartTitleArea.IsBold = true;
            chart.ChartTitleArea.Size = 14;

            // 设置图例位置
            chart.Legend.Position = LegendPositionType.Corner;

            // 保存生成的 Excel 文件
            workbook.SaveToFile("FilledRadarChart.xlsx", ExcelVersion.Version2016);
        }
    }
}

总结

本文演示了如何在 C# 中创建填充型雷达图,通过设置数据、样式与图表属性,实现多维数据的可视化展示。整个过程包括工作簿创建、数据填充、样式调整、图表生成以及文件保存,步骤清晰且易于实现。

填充型雷达图能够直观对比多个指标的差异,适用于绩效评估、数据分析等多维度场景,帮助更高效地呈现和理解数据。

到此这篇关于C#代码实现在Excel中创建雷达图的文章就介绍到这了,更多相关C# Excel创建雷达图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#如何修改项目名图文详解

    C#如何修改项目名图文详解

    最近开发工作接近尾声,客户来要求更换项目的名称,差不多要变更整个解决方案中项目名称,引用等等,这个工作量还是很大的,这篇文章主要给大家介绍了关于C#如何修改项目名的相关资料,需要的朋友可以参考下
    2023-01-01
  • Unity3D实现物体排成弧行

    Unity3D实现物体排成弧行

    这篇文章主要为大家详细介绍了Unity3D实现物体排成弧行,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • 使用C# CefSharp Python采集某网站简历并且自动发送邀请短信的方法

    使用C# CefSharp Python采集某网站简历并且自动发送邀请短信的方法

    这篇文章主要给大家介绍了关于如何使用C# CefSharp Python采集某网站简历并且自动发送邀请短信的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2019-03-03
  • WPF中实现弹出进度条窗口的示例详解

    WPF中实现弹出进度条窗口的示例详解

    这篇文章主要为大家详细介绍了如何WPF中实现弹出进度条窗口,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11
  • C#如何自动选择出系统中最合适的IP地址

    C#如何自动选择出系统中最合适的IP地址

    这篇文章介绍了C#如何自动选择出系统中最合适的IP地址,非常具有实用价值,需要的朋友可以参考下
    2015-08-08
  • Unity实现虚拟摇杆效果

    Unity实现虚拟摇杆效果

    这篇文章主要为大家详细介绍了Unity实现虚拟摇杆效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C#使用FtpWebRequest与FtpWebResponse完成FTP操作

    C#使用FtpWebRequest与FtpWebResponse完成FTP操作

    这篇文章介绍了C#使用FtpWebRequest与FtpWebResponse完成FTP操作的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 基于c# 接口的实例详解

    基于c# 接口的实例详解

    本篇文章是对c#中的接口进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • C#使用System.Buffer以字节数组Byte[]操作基元类型数据

    C#使用System.Buffer以字节数组Byte[]操作基元类型数据

    这篇文章介绍了C#使用System.Buffer以字节数组Byte[]操作基元类型数据的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#实现广度优先搜索的实例代码

    C#实现广度优先搜索的实例代码

    广度优先搜索算法(BFS)是图或树搜索的重要算法,学习BFS能提高理解图结构的能力,对解决复杂图问题有帮助,实际应用包括网络爬虫、社交网络分析、迷宫求解等,感兴趣的可以了解一下
    2024-10-10

最新评论