饼图(Pie Chart)是一种用于直观展示数据比例关系的圆形图表。它会将数据划分为多个扇区,每个扇区代表整体数据中的一部分比例,常用于展示不同类别在总数据中的占比情况。本文将介绍如何通过编程方式在 Excel 中创建饼图。
准备开发环境
在开始之前,需要准备一个 .NET 开发环境,并安装用于处理 Excel 文件的相关组件。你可以根据项目需求选择合适的 Excel 操作库,并将其添加到项目中。
完成环境配置后,即可通过代码创建 Excel 工作簿、添加数据,并生成饼图。
PM> Install-Package Spire.XLS
在 Excel 中创建饼图
代码逻辑如下:
- 创建一个 Excel 工作簿对象。
- 获取指定的工作表。
- 在指定单元格中添加数据,并设置单元格样式和边框格式。
- 在工作表中添加饼图,并选择合适的图表类型。
- 为图表设置数据源范围。
- 调整图表的位置,并添加图表标题。
- 获取图表中的数据系列,并设置分类标签和数据值。
- 开启数据标签显示功能,让图表中的数据点展示对应数值。
- 保存生成后的 Excel 文件。
通过以上步骤,即可使用代码在 Excel 文件中创建一个清晰直观的饼图,用于展示不同数据类别之间的比例关系。
完整示例代码如下:
using Spire.Xls;
using Spire.Xls.Charts;
using System.Drawing;
namespace CreatePieChart
{
class Program
{
static void Main(string[] args)
{
// 创建一个 Workbook 实例
Workbook workbook = new Workbook();
// 获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
// 设置工作表名称
sheet.Name = "Chart data";
// 在指定单元格中添加数据
sheet.Range["A1"].Value = "Year";
sheet.Range["A2"].Value = "2002";
sheet.Range["A3"].Value = "2003";
sheet.Range["A4"].Value = "2004";
sheet.Range["A5"].Value = "2005";
sheet.Range["B1"].Value = "Sales";
sheet.Range["B2"].NumberValue = 4000;
sheet.Range["B3"].NumberValue = 6000;
sheet.Range["B4"].NumberValue = 7000;
sheet.Range["B5"].NumberValue = 8500;
// 设置单元格样式
sheet.Range["A1:B1"].Style.Font.IsBold = true;
sheet.Range["A1:B1"].Style.KnownColor = ExcelColors.Black;
sheet.Range["A1:B1"].Style.Font.Color = Color.White;
sheet.Range["A1:B5"].Style.HorizontalAlignment = HorizontalAlignType.Center;
sheet.Range["A1:B5"].Style.VerticalAlignment = VerticalAlignType.Center;
// 设置数字格式
sheet.Range["B2:C5"].Style.NumberFormat = "\"$\"#,##0";
// 设置单元格边框
sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeTop].Color = Color.FromArgb(0, 0, 128);
sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeTop].LineStyle = LineStyleType.Thin;
sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeBottom].Color = Color.FromArgb(0, 0, 128);
sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeLeft].Color = Color.FromArgb(0, 0, 128);
sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeLeft].LineStyle = LineStyleType.Thin;
sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeRight].Color = Color.FromArgb(0, 0, 128);
sheet.Range["A1:B5"].Style.Borders[BordersLineType.EdgeRight].LineStyle = LineStyleType.Thin;
// 在工作表中添加饼图
Chart chart = sheet.Charts.Add(ExcelChartType.Pie);
// 设置图表的数据范围
chart.DataRange = sheet.Range["B2:B5"];
chart.SeriesDataFromRange = false;
// 设置图表位置
chart.LeftColumn = 1;
chart.TopRow = 7;
chart.RightColumn = 9;
chart.BottomRow = 28;
// 设置并格式化图表标题
chart.ChartTitle = "Sales by Year";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 14;
// 获取图表中的数据系列
ChartSerie cs = chart.Series[0];
// 设置数据系列的分类标签
cs.CategoryLabels = sheet.Range["A2:A5"];
// 设置数据系列的数值
cs.Values = sheet.Range["B2:B5"];
// 显示数据标签
cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = true;
// 保存生成的 Excel 文件
workbook.SaveToFile("PieChart.xlsx", ExcelVersion.Version2016);
}
}
}
总结
本文介绍了如何通过 C# 代码在 Excel 文件中创建饼图。首先,创建工作簿并在工作表中添加示例数据,随后对单元格样式、数字格式和边框进行设置,使数据表更加清晰易读。接着,通过添加饼图、设置数据范围、调整图表位置和标题,并配置分类标签、数据值以及数据标签,实现了一个完整的 Excel 饼图。最后,将生成的文件保存为 Excel 格式,方便后续查看和使用。通过这种方式,可以自动化生成 Excel 图表,提高数据可视化处理效率。

1万+

被折叠的 条评论
为什么被折叠?



