news 2026/4/22 3:57:50

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

作者头像

张小明

前端开发工程师

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

结论

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 1:51:36

Flutter Native Splash:打造完美启动体验的终极指南

Flutter Native Splash&#xff1a;打造完美启动体验的终极指南 【免费下载链接】flutter_native_splash Automatically generates native code for adding splash screens in Android and iOS. Customize with specific platform, background color and splash image. 项目地…

作者头像 李华
网站建设 2026/4/16 13:36:36

AI如何帮你自动生成Git提交关系图?

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个能够分析Git仓库提交历史的工具&#xff0c;自动生成可视化的提交关系图。要求&#xff1a;1. 支持本地仓库和远程仓库URL输入 2. 使用类似git log --graph的图形化展示 3.…

作者头像 李华
网站建设 2026/4/21 3:09:30

EVCapture在教育直播中的5个高效应用场景

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个专门针对教育场景优化的屏幕录制工具&#xff0c;需要&#xff1a;1.支持PPT演示讲师摄像头画中画录制 2.自动生成带时间戳的课程目录 3.内置激光笔和高亮标注工具 4.可导出…

作者头像 李华
网站建设 2026/4/21 4:52:43

第三方CNAS软件测试单位:【Gatling高级关联技术中的嵌套JSON、动态数组和上下文相关参数处理】

使用Gatling进行软件性能测试&#xff0c;高级关联技术是处理现代RESTful API和复杂应用场景的重要技能。当响应中包含嵌套JSON、动态数组或参数依赖前序上下文时&#xff0c;能否精准地提取并传递这些动态值&#xff0c;决定了测试脚本的可靠性和真实性。 为何需要高级关联&am…

作者头像 李华
网站建设 2026/4/22 10:45:28

Kotaemon病理报告分析:癌症筛查辅助阅读

Kotaemon病理报告分析&#xff1a;癌症筛查辅助阅读在乳腺癌、肺癌等重大疾病的诊疗过程中&#xff0c;一份病理报告往往决定了患者的整个治疗路径。然而&#xff0c;面对动辄上千字、术语密集且书写风格各异的病理文本&#xff0c;即便是经验丰富的病理科医生&#xff0c;也需…

作者头像 李华
网站建设 2026/4/22 3:23:17

小白必看:SSH连接错误kex_exchange_identification详解

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式学习应用&#xff0c;通过以下方式帮助新手理解kex_exchange_identification错误&#xff1a;1. 动画演示SSH连接过程&#xff1b;2. 分步错误排查向导&#xff1b;3…

作者头像 李华