如何在 Excel 中分组和取消分组行与列 | IronXL

如何在 C# 中分组和取消分组行和列

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL.Excel 提供了使用 C# 以编程方式对 Excel 电子表格中的行和列进行分组和解组的简单方法,实现了无 Interop 依赖性的可折叠部分,从而更好地组织数据。

在 Excel 中,分组功能通过创建可折叠的行或列部分来帮助组织数据。 这简化了大型数据集的导航和分析。 相反,取消分组功能会恢复到原始的未分组状态。 这些功能增强了数据管理,并允许对电子表格的特定部分进行重点检查。

IronXL 实现了编程式分组和解组,无需在 C# .NET 中进行 Interop。 无论是构建财务报告、管理库存数据还是整理员工记录,IronXL 的分组功能都能灵活地创建分层数据结构,用户可以根据需要展开或折叠这些结构。

快速入门:轻松组合和取消组合行和列

只需加载一个工作簿,在其工作表中调用 GroupRows, UngroupRows, GroupColumnsUngroupColumns 即可,然后保存即可。 IronXL 使分组和解分组行和列的入门操作直观而快速。对于复杂的电子表格,请查看我们的工作表管理指南,了解更多组织技巧。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronXL

    PM > Install-Package IronXL.Excel

  2. 复制并运行这段代码。

    IronXL.WorkBook.Load("data.xlsx").DefaultWorkSheet.GroupRows(0, 4).WorkBook.SaveAs("grouped.xlsx");
  3. 部署到您的生产环境中进行测试

    立即开始在您的项目中使用 IronXL,免费试用!
    arrow pointer


如何在 Excel 中分组和解分组行? [{i:(以下提到的所有索引位置均遵循从零开始的索引。 分组和取消分组操作只能应用于包含值的单元格。 Excel 中的行分组在处理分层数据结构时特别有用,例如组织结构图、带子类别的财务报表或带阶段的项目时间表。 IronXL 通过其直观的 API 使这一过程变得简单明了。 有关更多高级电子表格操作,请浏览我们全面的 [IronXL 文档](https://ironsoftware.com/csharp/excel/docs/)。

如何使用 GroupRows 创建行组? `GroupRows`方法接受要进行分组的行的索引位置。 如果需要,您可以对相同或不同的行组多次使用此方法。 在将数据组织成用户可以展开或折叠以提高可读性的逻辑部分时,这一点尤其有用。 在处理员工数据、财务记录或库存清单时,行分组可以创建可折叠的部分,从而改进电子表格导航。 该方法接受两个参数:起始行索引和终止行索引(均包含)。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-group-row.cs ``` #### 输出 Excel sheet with rows 1-9 selected for grouping, showing employee data with ID, name, and job title columns 对于更复杂的情况,您可以在同一工作表中创建嵌套组或多个独立组。 了解有关[选择范围](https://ironsoftware.com/csharp/excel/how-to/select-range/)以有效处理特定数据部分的更多信息。

如何使用 UngroupRows 删除行组? 使用`UngroupRows`方法取消先前分组的行的分组。 这种方法也可以通过应用于组群的中间部分,将组群分成两部分。不过,除非再次分组,否则由此产生的部分不会形成单独的组。 当您需要重组数据结构或为不同受众准备电子表格(他们可能不需要分组层次结构)时,解分组功能是必不可少的。 这种方法可以灵活地动态管理 Excel 数据组织。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-ungroup-row.cs ``` #### 输出
Excel spreadsheet with rows 2-9 selected (highlighted in red) showing employee data before grouping
Excel spreadsheet showing grouped rows 2-9 with employee data and grouping controls highlighted

如何在 Excel 中分组和解分组列? 在处理包含多个数据类别的宽电子表格时,列分组尤为重要。 例如,在管理财务数据时,可以按季度对每月的列进行分组;在处理员工数据时,可以将个人信息列与绩效指标列分开。 有关其他数据操作技术,请参阅我们的[添加行和列](https://ironsoftware.com/csharp/excel/how-to/add-rows-columns/)指南。

如何使用 GroupColumns 创建列组? 列可以像行一样进行分组。 使用`GroupColumns`方法,通过指定索引号或列字符对列进行分组。 这种灵活性使您能够以最适合您应用的格式使用列参考。 在生成需要显示汇总数据并可深入查看详细信息的报告时,以编程方式对列进行分组的能力非常宝贵。 这通常用于财务报告、库存管理和数据分析应用程序。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-group-column.cs ``` #### 输出 Excel spreadsheet with employee data showing column C (Job Title) highlighted by red arrow for grouping demonstration

如何使用 UngroupColumns 删除列组? 与取消行分组类似,您可以使用 `UngroupColumns` 方法来拆分列组。 在列组的中间应用此方法,会将列组分成两部分。 这一功能在调整报告结构或调整电子表格以适应不同的查看偏好时特别有用。 在处理复杂的电子表格时,解分组允许您暂时将层次结构扁平化,以便进行[排序](https://ironsoftware.com/csharp/excel/how-to/sort-cells/)或[在所有列中应用公式](https://ironsoftware.com/csharp/excel/how-to/edit-formulas/)等操作。 ```cs :path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-ungroup-column.cs ``` #### 输出
Excel spreadsheet with employee data and red arrow pointing to Job Title column for grouping demonstration
Excel spreadsheet with grouped columns showing employee data and column grouping controls highlighted with red arrows
## 高级分组技术 对于更复杂的 Excel 自动化场景,您可以将分组与 IronXL.Excel 的其他功能结合起来。 下面的示例演示了如何创建多个嵌套组: ```csharp using IronXL; // Create hierarchical grouping for financial data WorkBook workBook = WorkBook.Load("financial_report.xlsx"); WorkSheet workSheet = workBook.DefaultWorkSheet; // Create main category groups workSheet.GroupRows(1, 5); // Revenue section workSheet.GroupRows(7, 11); // Expenses section workSheet.GroupRows(13, 17); // Summary section // Create sub-groups within expenses workSheet.GroupRows(8, 9); // Operating expenses workSheet.GroupRows(10, 11); // Administrative expenses // Group quarterly columns workSheet.GroupColumns(1, 3); // Q1 (Jan-Mar) workSheet.GroupColumns(4, 6); // Q2 (Apr-Jun) workSheet.GroupColumns(7, 9); // Q3 (Jul-Sep) workSheet.GroupColumns(10, 12); // Q4 (Oct-Dec) workBook.SaveAs("hierarchical_financial_report.xlsx"); ``` 这种方法可以创建一份条理清晰的财务报告,用户可以根据需要折叠或展开章节。 有关其他格式化选项,请参阅我们的[条件格式化](https://ironsoftware.com/csharp/excel/how-to/conditional-formatting/)指南,以突出显示分组部分中的重要数据。 ## 最佳实践和性能注意事项 在进行分组和解组操作时,请考虑以下最佳实践: 1.**规划您的结构**:在实施之前设计分组层次结构,以避免过多的重新分组操作 2.**性能**:群组操作是轻量级的,但在处理大型数据集时,请将您的操作分批进行 3.**用户体验**:在创建分组时考虑最终用户的观点--逻辑分组可提高数据理解能力 4.**与其他功能相结合**:利用 IronXL.Excel 的 [`autosize`](https://ironsoftware.com/csharp/excel/how-to/autosize-rows-columns/) 功能确保分组内容的正确显示 对于复杂的企业应用程序,您可能还希望在包含敏感分组数据的工作簿上实施[`密码保护`](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/),或[`导出为不同格式`](https://ironsoftware.com/csharp/excel/how-to/convert-spreadsheet-file-types/),同时保持分组结构。 ## 摘要 IronXL.Excel 的分组和解组功能为开发人员提供了以编程方式组织 Excel 数据的强大工具。 无论是构建报表系统、数据分析工具还是 Excel 自动生成器,这些功能都能让您创建专业、用户友好的电子表格,增强数据的可读性和导航性。 IronXL.Excel 能够以编程方式控制数据组织,而无需依赖 Excel Interop,这使得 IronXL 成为处理电子表格数据的现代 .NET 应用程序的必备工具。

常见问题解答

如何使用 C# 在 Excel 中分组行?

您可以使用 IronXL.Excel 的 GroupRows 方法对 Excel 中的行进行分组。只需加载工作簿,在工作表中调用 GroupRows,并指定要分组的行的索引位置,然后保存文件即可。例如IronXL.WorkBook.Load("data.xlsx").DefaultWorkSheet.GroupRows(0, 4).WorkBook.SaveAs("grouped.xlsx");

能否在 Excel 中以编程方式对列进行分组和取消分组?

是的,IronXL.Excel 提供了 GroupColumns 和 UngroupColumns 方法,可使用 C# 以编程方式对 Excel 电子表格中的列进行分组和取消分组。这些方法的工作原理与行分组类似,可让您创建可折叠的列部分,而无需 Interop 依赖性。

哪些类型的数据组织受益于行和列分组?

IronXL 的分组功能特别适用于组织分层数据结构,如带有子类别的财务报告、组织结构图、带有阶段的项目时间表、员工记录和库存数据。它有助于创建可折叠的部分,从而简化大型数据集的导航和分析。

在 C# 中分组行和列需要 Microsoft Office Interop 吗?

不,IronXL 无需 Microsoft Office Interop 即可对行和列进行编程式分组和解组。这使其成为 C# .NET 应用程序中更轻量级、更便于部署的解决方案。

能否对多组行或列应用分组?

是的,使用 IronXL,您可以对相同或不同的行列组多次使用 GroupRows 和 GroupColumns 方法。这种灵活性使您可以根据需要创建具有多个可折叠部分的复杂分层数据结构。

保存分组 Excel 数据时支持哪些文件格式?

IronXL.Excel 允许您将分组行和列的 Excel 文件导出为各种文件格式。应用分组操作后,您可以使用 SaveAs 方法保存工作簿,以在输出文件中保持分组结构。

Chaknith Bin
软件工程师
Chaknith 在 IronXL 和 IronBarcode 工作。他在 C# 和 .NET 方面有着深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的见解有助于更好的产品、文档和整体体验。
准备开始了吗?
Nuget 下载 1,765,830 | 版本: 2025.12 刚刚发布