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

使用旭日图可以更清晰地可视化层级信息,例如组织结构、产品类别或文件系统布局。本文将演示如何使用Aspose.Cells for .NET在 Excel 工作簿中创建旭日图。该示例完全可运行,仅需 Aspose.Cells NuGet 包,并且可以适用于任何层级数据集。

Aspose.Cells官方试用版免费下载

用于创建旭日图的 C# Excel 库

**Aspose.Cells for .NET**是一个功能强大的 Excel 自动化库,无需 Office 互操作即可使用。它提供了一个简洁的面向对象的 API,用于创建、修改和设置图表样式,包括 Excel 2016 中引入的旭日图。

选择Aspose.Cells生成旭日图的主要原因:

  • 全面的 API -- 完全访问图表类型、数据系列和格式选项。
  • 无需安装 Excel -- 可在服务器端、云端或容器环境中运行。
  • 支持跨格式------保存为 XLSX、XLS、CSV、PDF、PNG 等格式。
  • 高性能------高效处理大型工作簿和数据集。

入门

  1. 从**慧都网Aspose.Cells页面下载**该库。

  2. 从NuGet安装

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

使用 C# 在 Excel 中创建旭日图

下面是一个完整的、独立的 C# 示例,演示如何在 Excel 中创建旭日图。

复制代码
// ------------------------------------------------------------
// 1. Create a new workbook and obtain the first worksheet.
// ------------------------------------------------------------
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Hierarchy";

// ------------------------------------------------------------
// 2. Populate hierarchical data.
//    The data layout follows the structure required by Sunburst:
//    Column A ¨C Category (Level 1)
//    Column B ¨C Sub?Category (Level 2)
//    Column C ¨C Item (Level 3)
//    Column D ¨C Value (numeric)
// ------------------------------------------------------------
string[,] data = new string[,]
{
    // Category, Sub?Category, Item,   Value
    { "Technology", "Hardware",   "Laptop",    "120" },
    { "Technology", "Hardware",   "Desktop",   "80"  },
    { "Technology", "Software",   "OS",        "150" },
    { "Technology", "Software",   "Office",    "100" },
    { "Finance",    "Banking",    "Retail",    "200" },
    { "Finance",    "Banking",    "Corporate", "180" },
    { "Finance",    "Investments","Equity",    "130" },
    { "Finance",    "Investments","Bonds",     "90"  }
};

// Write the header row
sheet.Cells["A1"].PutValue("Category");
sheet.Cells["B1"].PutValue("Sub?Category");
sheet.Cells["C1"].PutValue("Item");
sheet.Cells["D1"].PutValue("Value");

// Fill the data rows
for (int r = 0; r < data.GetLength(0); r++)
{
    for (int c = 0; c < data.GetLength(1); c++)
    {
        sheet.Cells[r + 1, c].PutValue(data[r, c]);
    }
}

// ------------------------------------------------------------
// 3. Add a Sunburst chart.
// ------------------------------------------------------------
// The chart will be placed starting at row 12, column 0 and
// will span 20 rows and 10 columns.
int chartIdx = sheet.Charts.Add(ChartType.Sunburst, 12, 0, 32, 10);
Chart sunburstChart = sheet.Charts[chartIdx];
sunburstChart.Title.Text = "Company Revenue by Category";

// ------------------------------------------------------------
// 4. Set the data range for the chart.
//    Sunburst expects the first column to contain the innermost
//    level (Category), and the last column to hold the numeric
//    values.
// ------------------------------------------------------------
//   A2:D9 contains the hierarchy + values.
sunburstChart.SetChartDataRange("=Hierarchy!$A$2:$D$9", true);

// ------------------------------------------------------------
// 5. (Optional) Customize the appearance.
// ------------------------------------------------------------
// Example: Set a pastel background for the PlotArea.
sunburstChart.PlotArea.Area.Formatting = FormattingType.Custom;
sunburstChart.PlotArea.Area.ForegroundColor = Color.FromArgb(247, 250, 255);

// Set the legend to the right side.
sunburstChart.Legend.Position = LegendPositionType.Right;

// ------------------------------------------------------------
// 6. Save the workbook.
// ------------------------------------------------------------
string outputPath = "SunburstChart_Output.xlsx";
workbook.Save(outputPath);
Console.WriteLine($"Sunburst chart created successfully: {outputPath}");

关键步骤说明

目的
2 层级数据按列排列,其中最左边的列 代表最外层的环(类别),最右边的数值列保存值。
3 ChartType.Sunburst创建所需的图表类型。
4 SetChartDataRange将数据范围与图表关联起来;该标志true告诉 Aspose.Cells 该范围包含类别和值。
5 可选的外观调整(背景填充、图例位置)。
6 将工作簿保存为 XLSX 格式,以便进一步处理或导出为 PDF/PNG。

结论

**使用Aspose.Cells for .NET**以编程方式创建旭日图非常简单。该库无需在服务器上运行 Microsoft Excel 即可处理数据层次结构、图表类型选择和样式设置。您可以以提供的示例为基础,根据您的领域调整数据源,并利用 Aspose 丰富的 API 生成精美且可直接导出的可视化图表。

相关推荐
民乐团扒谱机2 小时前
【微实验】仿AU音频编辑器开发实践:从零构建音频可视化工具
算法·c#·仿真·audio·fft·频谱
过期的秋刀鱼!3 小时前
Excel-数据分析开发心得(工具PQ,PP)与开发经验
大数据·数据分析·excel·模型搭建·数据优化·powerquery·powerpivot
武藤一雄3 小时前
彻底吃透.NET中序列化反序列化
xml·微软·c#·json·.net·.netcore
one9963 小时前
C# 的进程间通信(IPC,Inter-Process Communication)
开发语言·c#
凯子坚持 c3 小时前
CodeRider-Kilo 驱动下的 Python Excel 自动化开发全流程深度解析
python·自动化·excel
CreasyChan3 小时前
unity-向量数学:由浅入深详解
unity·c#
专注VB编程开发20年13 小时前
C#全面超越JAVA,主要还是跨平台用的人少
java·c#·.net·跨平台
小猪快跑爱摄影17 小时前
【AutoCad 2025】【C#】零基础教程(四)——MText 常见属性
c#·autocad
炼钢厂18 小时前
C#6——DateTime
c#