使用树状图可视化层级数据,可以使复杂的信息一目了然。本文将介绍如何使用 C# 和Aspose.Cells for .NET在 Excel 中创建树状图。本指南包含完整的可运行代码示例、自定义图表外观的技巧以及快速入门的资源。
Aspose.Cells官方试用版免费下载
用于创建树状图的 C# Excel 库
Aspose.Cells for .NET是一个功能全面的 Excel 操作库,允许开发人员在不使用 Microsoft Office 的情况下创建、编辑和渲染 Excel 文件。它支持多种图表类型,包括树状图,该图表非常适合可视化层级结构,例如按地区、产品类别或组织结构图划分的销售额。
使用Aspose.Cells for .NET的主要优势:
- 丰富的 API– 完全访问工作簿、工作表、单元格和图表对象。
- 高性能——能够高效处理大型工作簿和数据集。
- 无外部依赖项– 可在任何支持 .NET 的平台上运行。
- 多种导出格式– 保存为 XLSX、XLS、CSV、PDF、PNG 等格式。
入门很简单:
从慧都网Aspose.Cells 页面下载库。
安装 NuGet 包:
PM> Install-Package Aspose.Cells
使用 C# 在 Excel 中创建树状图
如何构建树状图
以下示例演示了如何操作:
- 创建一个新的工作簿。
- 在工作表中填充层级数据。
- 添加树状图。
- 配置剧集、标题和格式。
- 将工作簿保存为 Excel 文件。
注意——该代码是完全独立的,可以使用 .NET 6.0 或更高版本进行编译。
// ------------------------------ // 1. Create a new workbook // ------------------------------ var workbook = new Workbook(); var sheet = workbook.Worksheets[0]; sheet.Name = "SalesData"; // ------------------------------------------------- // 2. Fill the worksheet with hierarchical sample data // ------------------------------------------------- // A B C D E // ------------------------------------------------- // Region Country Category Subcategory Sales // Europe Germany Electronics Phones 120000 // Europe Germany Electronics Laptops 85000 // Europe France Furniture Chairs 45000 // Asia China Electronics Phones 200000 // Asia China Furniture Tables 95000 // America USA Electronics TVs 175000 // ------------------------------------------------- string[,] data = new string[,] { { "Region", "Country", "Category", "Subcategory", "Sales" }, { "Europe", "Germany", "Electronics", "Phones", "120000" }, { "Europe", "Germany", "Electronics", "Laptops", "85000" }, { "Europe", "France", "Furniture", "Chairs", "45000" }, { "Asia", "China", "Electronics", "Phones", "200000" }, { "Asia", "China", "Furniture", "Tables", "95000" }, { "America", "USA", "Electronics", "TVs", "175000" } }; for (int row = 0; row < data.GetLength(0); row++) { for (int col = 0; col < data.GetLength(1); col++) { sheet.Cells[row, col].PutValue(data[row, col]); } } // ------------------------------------------------- // 3. Add a Treemap chart // ------------------------------------------------- // The chart will be placed starting at row 9, column 0 // and will occupy rows 9?30 and columns 0?10. int chartIndex = sheet.Charts.Add(ChartType.Treemap, 9, 0, 30, 10); Chart treemap = sheet.Charts[chartIndex]; // Set chart title treemap.Title.Text = "Global Sales Treemap"; // ------------------------------------------------- // 4. Define the series for the Treemap // ------------------------------------------------- // The data range includes columns A?E (rows 2?7) without the header. // Category data (hierarchy) is taken from columns A?D. // Values are taken from column E. treemap.NSeries.Add("=SalesData!$E$2:$E$7", true); treemap.NSeries.CategoryData = "=SalesData!$A$2:$D$7"; // ------------------------------------------------- // 5. Customize the appearance (optional) // ------------------------------------------------- // Example: set a graduated fill based on sales values. treemap.NSeries[0].IsColorVaried = true; // Vary color by value // ------------------------------------------------- // 6. Save the workbook // ------------------------------------------------- string outputPath = "TreemapChart_Output.xlsx"; workbook.Save(outputPath); Console.WriteLine($"Treemap chart created successfully. File saved to: {outputPath}");关键步骤说明
| 步 | 目的 |
|---|---|
| 1 | 实例化一个新的对象Workbook并获取第一个工作表。 |
| 2 | 将分层销售数据填充到工作表中。第一行包含标题。 |
| 3 | 添加一个图表类型ChartType.Treemap。图表的位置和大小由传递给的行/列索引定义Charts.Add。 |
| 4 | 添加一个使用销售额作为值范围(E2:E7)和层次结构(A2:D7)作为类别数据的单个系列。 |
| 5 | 启用数据标签,使其同时显示数值和类别名称,并根据销售额激活颜色变化。 |
| 6 | 将工作簿保存为 XLSX 文件。生成的文件可在 Excel 中打开以查看树状图。 |
结论
使用 Aspose.Cells for .NET 创建树状图非常简单,只需几行代码即可完成。该库无需 Microsoft Office 即可处理数据层次结构、图表渲染和文件输出。按照上面的示例,您可以快速生成专业的树状图可视化图表,用于财务报告、销售分析或任何层次结构数据集。