使用 C# 在 Excel 中创建龙卷风图表

龙卷风图是一种强大的工具,可用于比较数据点和可视化潜在变化。在这篇博文中,我们将学习如何使用 C# 在 Excel 中创建龙卷风图。本文将教您如何制作可直接添加到应用程序中的炫酷图表和图形,并附带简单易懂的说明!

本文涵盖以下主题:

使用 C# API 在 Excel 中创建龙卷风图表

Aspose.Cells for .NET 是一个功能强大的 API,它使开发人员无需 Microsoft Excel 即可创建、操作和转换 Excel 文件。在其众多功能中,它提供了全面的图表功能,可以在电子表格中生成和管理图表。

要利用该 API,请下载 DLL 或使用以下命令从 NuGet 安装它:

PM> Install-Package Aspose.Cells 

使用 C# 在 Excel 中创建龙卷风图

现在,我们可以按照以下步骤在 Excel 工作表中轻松地创建龙卷风图:

  1. 使用 Workbook 类加载 Excel 文件。
  2. 将所需的工作表放入 Worksheet 类对象中。
  3. (可选)将数据插入工作表。
  4. 使用 Charts.Add() 方法添加堆积条形图。
  5. 通过图表类对象中的索引访问图表。
  6. 使用 SetChartDataRange() 方法设置图表的数据源。
  7. 设置图表所需的属性。
  8. 最后,使用 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");
使用 C# 在 Excel 中创建龙卷风图

使用 C# 在 Excel 中创建龙卷风图

在 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 中插入数据并创建龙卷风图

获取免费许可证

获取免费临时许可证,以便在 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 提供了一套全面的数据可视化功能。按照本文概述的步骤,您可以轻松地将龙卷风图集成到您的应用程序中。

如果有任何疑问,请随时通过我们的免费支持论坛与我们联系。

也可以看看