龙卷风图是一种强大的工具,可用于比较数据点和可视化潜在变化。在这篇博文中,我们将学习如何使用 C# 在 Excel 中创建龙卷风图。本文将教您如何制作可直接添加到应用程序中的炫酷图表和图形,并附带简单易懂的说明!
本文涵盖以下主题:
使用 C# API 在 Excel 中创建龙卷风图表
Aspose.Cells for .NET 是一个功能强大的 API,它使开发人员无需 Microsoft Excel 即可创建、操作和转换 Excel 文件。在其众多功能中,它提供了全面的图表功能,可以在电子表格中生成和管理图表。
要利用该 API,请下载 DLL 或使用以下命令从 NuGet 安装它:
PM> Install-Package Aspose.Cells
使用 C# 在 Excel 中创建龙卷风图
现在,我们可以按照以下步骤在 Excel 工作表中轻松地创建龙卷风图:
- 使用 Workbook 类加载 Excel 文件。
- 将所需的工作表放入 Worksheet 类对象中。
- (可选)将数据插入工作表。
- 使用 Charts.Add() 方法添加堆积条形图。
- 通过图表类对象中的索引访问图表。
- 使用 SetChartDataRange() 方法设置图表的数据源。
- 设置图表所需的属性。
- 最后,使用 Save() 方法保存文档
以下代码示例展示如何使用 C# 在 Excel 中创建龙卷风图。
// 加载包含数据的现有 Excel 文件
Workbook wb = new Workbook("D:\\Files\\sample.xlsx");
// 访问工作表
Worksheet sheet = wb.Worksheets[0];
// 获取图表
ChartCollection charts = sheet.Charts;
// 添加条形图
int index = charts.Add(ChartType.BarStacked, 8, 1, 24, 8);
Chart chart = charts[index];
// 设置条形图的数据
chart.SetChartDataRange("A1:C7", true);
// 设置条形图的属性
chart.Title.Text = "Tornado chart";
chart.Style = 2;
chart.PlotArea.Area.ForegroundColor = Color.White;
chart.PlotArea.Border.Color = Color.White;
chart.Legend.Position = LegendPositionType.Bottom;
chart.CategoryAxis.TickLabelPosition = TickLabelPositionType.Low;
chart.CategoryAxis.IsPlotOrderReversed = true;
chart.GapWidth = 10;
Axis valueAxis = chart.ValueAxis;
valueAxis.TickLabels.NumberFormat = "#,##0;#,##0";
// 保存文件
wb.Save("D:\\Files\\out.xlsx");
在 Excel 中插入数据并创建龙卷风图
在上一节中,我们使用预先填充了数据的工作表创建了龙卷风图。我们还可以使用 Cells 类的 PutValue() 方法将数据插入 Excel 工作表。创建龙卷风图的其余过程将保持不变。
以下代码示例显示如何使用 C# 在 Excel 中插入数据然后创建龙卷风图。
// 创建新的 Excel 工作簿
Workbook wb = new Workbook();
Worksheet worksheet = wb.Worksheets[0];
// 将示例值添加到单元格
worksheet.Cells["A1"].PutValue("Products");
worksheet.Cells["A2"].PutValue("Product A");
worksheet.Cells["A3"].PutValue("Product B");
worksheet.Cells["A4"].PutValue("Product C");
worksheet.Cells["A5"].PutValue("Product D");
worksheet.Cells["A6"].PutValue("Product E");
worksheet.Cells["B1"].PutValue("2021-2022");
worksheet.Cells["B2"].PutValue(-100);
worksheet.Cells["B3"].PutValue(-80);
worksheet.Cells["B4"].PutValue(-75);
worksheet.Cells["B5"].PutValue(-60);
worksheet.Cells["B6"].PutValue(-48);
worksheet.Cells["C1"].PutValue("2023-2024");
worksheet.Cells["C2"].PutValue(95);
worksheet.Cells["C3"].PutValue(80);
worksheet.Cells["C4"].PutValue(72);
worksheet.Cells["C5"].PutValue(65);
worksheet.Cells["C6"].PutValue(45);
ChartCollection charts = worksheet.Charts;
// 添加条形图
int index = charts.Add(ChartType.BarStacked, 8, 1, 24, 8);
Chart chart = charts[index];
// 设置条形图的数据
chart.SetChartDataRange("A1:C6", true);
// 设置条形图的属性
chart.Title.Text = "Tornado chart";
chart.Style = 2;
chart.PlotArea.Area.ForegroundColor = Color.White;
chart.PlotArea.Border.Color = Color.White;
chart.Legend.Position = LegendPositionType.Bottom;
chart.CategoryAxis.TickLabelPosition = TickLabelPositionType.Low;
chart.CategoryAxis.IsPlotOrderReversed = true;
chart.GapWidth = 50;
// 显示数据标签
DataLabels datalabels;
for (int i = 0; i < chart.NSeries.Count; i++)
{
datalabels = chart.NSeries[i].DataLabels;
//设置数据标签的位置
datalabels.Position = LabelPositionType.Center;
//显示 DataLabels 中的值
datalabels.ShowValue = true;
datalabels.Font.Color = Color.White;
datalabels.NumberFormat = "#,##0;#,##0";
}
Axis valueAxis = chart.ValueAxis;
valueAxis.TickLabels.NumberFormat = "#,##0;#,##0";
// 保存文件
wb.Save("D:\\Files\\chart_out.xlsx");
获取免费许可证
请获取免费临时许可证,以便在 Excel 中创建龙卷风图表,不受试用限制。我们的“临时许可证”页面提供了易于遵循的说明,可让您立即申请免费许可证。
Excel 中的龙卷风图表 – 免费资源
除了使用 C# 在 Excel 中创建龙卷风图表之外,您还可以使用以下资源探索有关该库的其他各种功能:
- 开发人员指南 - Learning resources including step-by-step guides, code snippets, and recommended approaches with access to API references.
- 免费在线申请 - Free online apps to edit, view, convert, merge and more.
- 博客 - Cutting-edge feature details and comprehensive guides to the newest functionalities.
结论
在本文中,我们学习了如何使用 C# 在 Excel 中创建龙卷风图。从在 Excel 工作表中插入数据到创建图表和设置图表属性,Aspose.Cells for .NET API 提供了一套全面的数据可视化功能。按照本文概述的步骤,您可以轻松地将龙卷风图集成到您的应用程序中。
如果有任何疑问,请随时通过我们的免费支持论坛与我们联系。