当前位置: 首页 > news >正文

Excel处理控件Aspose.Cells教程:使用C#在Excel中创建环形图

可视化比例数据(例如市场份额、费用分布或调查结果)时,通常最好使用环形图。本文将介绍如何使用 C# 和Aspose.Cells for .NET在 Excel 中创建环形图。本指南提供了两个完整的、可直接运行的代码示例:一个基本的单系列环形图和一个带有自定义颜色和图例设置的多系列环形图,方便您立即将强大的可视化功能集成到任何 .NET 应用程序中。

Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技

加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。

用于创建环形图的 C# Excel 库

Aspose.Cells for .NET是一个功能全面的 Excel 自动化库,使开发人员无需 Microsoft Office 即可创建、修改和渲染 Excel 文件。它包含丰富的图表 API,支持所有 Excel 原生图表类型,包括环形图。

Aspose.Cells之所以成为图表生成的首选工具,其关键功能包括:

  • 支持所有图表类型——从简单的柱形图到高级的瀑布图和环形图。
  • 精细化自定义- 控制系列类型、颜色、标记、数据标签、图例、坐标轴等。
  • 高性能——在服务器端环境中高效处理大型工作簿。
  • 跨平台兼容性– 可在 .NET Framework、.NET Core、.NET 5/6/7+ 和 .NET Standard 上运行。

入门

  1. 从慧都网下载最新的 Aspose.Cells for .NET 二进制文件。

  2. 安装NuGet 包:

    PM> Install-Package Aspose.Cells
  3. Aspose.Cells在你的 C# 项目中添加对它的引用。

现在你已经准备好通过编程方式创建环形图了。

使用 C# 在 Excel 中创建环形图

如何创建简单的单系列环形图

以下示例演示了添加环形图所需的最少步骤,该环形图显示了四个产品类别的销售分布情况。

// 1. Create a new workbook and obtain the first worksheet.
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];// ------------------------------------------------------------
// 2. Populate worksheet with sample data.
// ------------------------------------------------------------
//   A          B
// 1 Category   Sales
// 2 Electronics  35000
// 3 Clothing      21000
// 4 Groceries     15000
// 5 Furniture     12000
// ------------------------------------------------------------
sheet.Cells["A1"].Value = "Category";
sheet.Cells["B1"].Value = "Sales";string[] categories = { "Electronics", "Clothing", "Groceries", "Furniture" };
double[] sales = { 35000, 21000, 15000, 12000 };for (int i = 0; i < categories.Length; i++)
{sheet.Cells[i + 1, 0].Value = categories[i];sheet.Cells[i + 1, 1].Value = sales[i];
}// ------------------------------------------------------------
// 3. Add a Doughnut chart object.
// ------------------------------------------------------------
// Parameters: (ChartType, upper left row, upper left column, lower right row, lower right column)
int chartIndex = sheet.Charts.Add(ChartType.Doughnut, 5, 0, 20, 8);
Chart chart = sheet.Charts[chartIndex];
chart.Title.Text = "Sales Distribution by Category";// ------------------------------------------------------------
// 4. Add the data series ¨C the range includes only the numeric values.
// ------------------------------------------------------------
// The first argument is the data range for the series.
// The second argument (true) indicates that the series will have a name.
int seriesIndex = chart.NSeries.Add("=Sheet1!$B$2:$B$5", true);
chart.NSeries[seriesIndex].Name = "Sales";// ------------------------------------------------------------
// 5. Bind category (X) labels.
// ------------------------------------------------------------
chart.NSeries.CategoryData = "=Sheet1!$A$2:$A$5";// ------------------------------------------------------------
// 6. Optional customizations.
// ------------------------------------------------------------
// Show data labels (percentage) inside the doughnut.
chart.NSeries[seriesIndex].DataLabels.Position = LabelPositionType.InsideBase;
chart.NSeries[seriesIndex].DataLabels.ShowPercentage = true;// Set the doughnut hole size (percentage of the chart area).
chart.NSeries[seriesIndex].DoughnutHoleSize = 50; // 0 ¨C 100// ------------------------------------------------------------
// 7. Save the workbook.
// ------------------------------------------------------------
string outputPath = "DoughnutChart_Simple.xlsx";
workbook.Save(outputPath);
Console.WriteLine($"Workbook saved to {outputPath}");

关键步骤说明

目的
2 请在工作表中填写类别名称和数值。
3 添加一个图表类型ChartType.Doughnut。
4 创建一个指向数值数据范围的序列。
5 将系列链接到类别(标签)范围。
6 启用显示百分比的数据标签并调整孔径。
7 将工作簿保存到 XLSX 文件。

运行该程序会生成DoughnutChart_Simple.xlsx,其中包含一个类似于以下屏幕截图的单系列环形图(此纯文本文档中省略了屏幕截图)。

如何创建带有自定义颜色的多系列环形图

环形图也可以包含多个系列。下面的示例创建了一个图表,显示了三个部门的季度费用分布情况。每个系列都应用了自定义颜色,以便更好地区分。

// 1. Initialize workbook and sheet.
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];// ------------------------------------------------------------
// 2. Write sample data.
// ------------------------------------------------------------
//   A          B      C      D
// 1 Category   Q1     Q2     Q3
// 2 Marketing  5000   7000   6000
// 3 R&D        8000   9000   8500
// 4 Operations 6500   6200   7100
// ------------------------------------------------------------
sheet.Cells["A1"].Value = "Category";
sheet.Cells["B1"].Value = "Q1";
sheet.Cells["C1"].Value = "Q2";
sheet.Cells["D1"].Value = "Q3";string[] categories = { "Marketing", "R&D", "Operations" };
double[,] values = {{ 5000, 7000, 6000 },{ 8000, 9000, 8500 },{ 6500, 6200, 7100 }
};for (int r = 0; r < categories.Length; r++)
{sheet.Cells[r + 1, 0].Value = categories[r];for (int c = 0; c < 3; c++){sheet.Cells[r + 1, c + 1].Value = values[r, c];}
}// 3. Add a multi?series Doughnut chart.
int chartIdx = sheet.Charts.Add(ChartType.Doughnut, 6, 0, 25, 10);
Chart chart = sheet.Charts[chartIdx];
chart.Title.Text = "Quarterly Expenses by Department";
chart.NSeries.CategoryData = "=Sheet1!$A$2:$A$4";// 4. Add three series ¨C one for each quarter.
// Series 1 (Q1)
int s1 = chart.NSeries.Add("=Sheet1!$B$2:$B$4", true);
chart.NSeries[s1].Name = "Q1";
chart.NSeries[s1].DoughnutHoleSize = 60;
chart.NSeries[s1].DataLabels.ShowPercentage = true;
chart.NSeries[s1].Border.Color = Color.DarkBlue;
chart.NSeries[s1].Area.ForegroundColor = Color.LightBlue;// Series 2 (Q2)
int s2 = chart.NSeries.Add("=Sheet1!$C$2:$C$4", true);
chart.NSeries[s2].Name = "Q2";
chart.NSeries[s2].DoughnutHoleSize = 50;
chart.NSeries[s2].DataLabels.ShowPercentage = true;
chart.NSeries[s2].Border.Color = Color.DarkGreen;
chart.NSeries[s2].Area.ForegroundColor = Color.LightGreen;// Series 3 (Q3)
int s3 = chart.NSeries.Add("=Sheet1!$D$2:$D$4", true);
chart.NSeries[s3].Name = "Q3";
chart.NSeries[s3].DoughnutHoleSize = 40;
chart.NSeries[s3].DataLabels.ShowPercentage = true;
chart.NSeries[s3].Border.Color = Color.DarkRed;
chart.NSeries[s3].Area.ForegroundColor = Color.LightCoral;// 5. Adjust chart appearance.
chart.Legend.Position = LegendPositionType.Right;
chart.PlotArea.Area.Formatting = FormattingType.None; // Transparent plot area.// 6. Save the workbook.
string output = "DoughnutChart_MultiSeries.xlsx";
workbook.Save(output);
Console.WriteLine($"Workbook with multi?series Doughnut chart saved to {output}");

这段代码演示了什么

  • 在单个甜甜圈图中添加多个系列(每个季度为一个系列)。
  • 每个系列只设置一次类别数据,以便重复使用相同的标签。
  • 为每个系列自定义边框填充颜色,以提高可读性。
  • 为每个数据序列启用百分比数据标签
  • 将图例放置在图表的右侧。

运行该程序后,生成的DoughnutChart_MultiSeries.xlsx文件将包含一个由三个同心圆环组成的环形图,每个圆环代表一个季度的支出。

结论

使用Aspose.Cells for .NET ,在 Excel 中创建美观的环形图非常简单。该库流畅的 API 允许您填充数据、添加图表、自定义系列颜色、显示百分比,并将结果导出为 XLSX、PDF 或图像格式——所有操作均无需 Microsoft Office。通过将提供的代码片段集成到您的项目中,您可以快速可靠地交付专业且数据驱动的可视化效果。

Aspose.Cells官方试用版免费下载,请联系Aspose官方授权代理商慧都科技

加入Aspose技术交流QQ群(1041253375),与更多小伙伴一起探讨提升开发技能。

http://www.gsyq.cn/news/78804.html

相关文章:

  • 2025香港留学中介机构推荐
  • 2025 年 12 月钢结构工程实力厂家权威推荐榜:钢构桥梁、工业厂房、大跨度场馆等全领域施工,精选技术领先与项目口碑标杆企业!
  • 2025香港留学中介机构南京有哪些
  • 2025 年 12 月沈阳油漆厂家权威推荐榜:环保工业漆、高端汽车漆、建筑外墙漆,实力工厂源头直供精选
  • 2025 年口碑好的陕西树脂瓦实力厂家排行榜
  • MCTP overview - ENGINEER
  • 2025 年质量好的陕西树脂瓦实力厂家专业口碑排行榜
  • 2025年上海高定全屋定制品牌推荐,5家靠谱全屋定制品牌公司
  • 2025年评价高的重型平板车用户好评厂家排行
  • 2025年苏州高性价比玻璃贴膜公司推荐:靠谱的玻璃贴膜品牌机
  • 2025靠谱中央空调TOP5权威推荐:中央空调哪家品牌售后好
  • 2025年锅炉冷凝器生产厂排名推荐:锅炉冷凝器生产厂选哪家好
  • 2025年AI搜索优化公司推荐:解锁智能流量新密码
  • 2025上海专门做留学的机构
  • 上海留学机构2025实力排名
  • 2025年geo优化公司推荐:AI赋能下的精准布局新选择
  • 2025年geo优化公司推荐:技术赋能下的精准营销新选择
  • 2025 年 12 月液压机与热压机厂家权威推荐榜:深圳伺服数控/四柱/压铸专用液压机,广东膜电极/碳纤维/气凝胶热压机实力精选
  • 2025年昆明靠谱的AI平台品牌曝光公司排行榜,专业测评推荐
  • 2025年专升本培训标杆机构最新推荐:山东战旗教育,上海专升本、山东专升本、免试专升本辅导新标准
  • 2025年12月知识付费SaaS标杆:厦门创客匠人,知识付费平台、知识付费软件、SaaS软件、知识付费系统、知识店铺搭建、一站式内容变现解决方案
  • .NET 8以上版本,字节数组转字符串
  • 数据安全交换平台有哪些?一文读懂主流类型优劣势
  • 2026年北京市门头沟区农村自建房推荐榜,图南建房宝领衔 六家家实力公司赋能乡村宜居生活。
  • 2025年12月螺丝厂家推荐:紧固件行业头部企业对比评价报告
  • 2025年宁波口碑不错的食堂承包公司推荐,诚信的工厂食堂承包
  • 2025年12月铁粉厂家推荐:杭州盛扬新材料,还原铁粉、一次还原铁粉、二次还原铁粉、发热铁粉、暖宝宝铁粉、多品类铁粉适配全行业需求
  • Ubuntu 24.04 LTS 系统安装 搜狗输入法问题总结
  • 2025年值得推荐的竹制品供应商TOP5:口碑好的竹制品厂家
  • 2025年口碑好的工业网桥转换器厂家推荐:工业网桥转换器个性