如何在Excel中群組和取消群組行和列 | IronXL

如何在 C# 中對行和列進行分組和取消分組?

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

IronXL提供簡單的方法,可以使用 C# 以程式設計方式對 Excel 電子表格中的行和列進行分組和取消分組,從而實現可折疊部分,而無需 Interop 依賴項,以便更好地組織資料。

在 Excel 中,分組功能透過建立可折疊的行或列部分來幫助組織資料。 這簡化了大型資料集的導航和分析。 相反,取消分組功能會恢復到原始的未分組狀態。 這些功能增強了資料管理,並允許對電子表格的特定部分進行重點檢查。

IronXL能夠在 C# .NET中實現無需互通的程序化分組和取消分組。 無論是建立財務報告、管理庫存資料或組織員工記錄,IronXL 的分組功能都提供了建立分層資料結構的靈活性,使用者可以根據需要展開或折疊這些資料結構。

快速入門:輕鬆組合和取消組合行和列@@--AH2EG--@@

只需幾秒鐘即可開始整理您的 Excel 資料——只需載入一個工作簿,在其工作表上呼叫 GroupColumnsUngroupColumns,然後儲存即可。 IronXL讓您能夠直觀且快速地對行和列進行分組和取消分組。對於複雜的電子表格,請參閱我們的工作表管理指南,以了解更多組織技巧。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronXl.Excel

    PM > Install-Package IronXl.Excel
  2. 複製並運行這段程式碼。

    IronXl.WorkBook.Load("data.xlsx").DefaultWorkSheet.GroupRows(0, 4).WorkBook.SaveAs("grouped.xlsx");
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronXL

    arrow pointer


如何在Excel中對行進行分組和取消分組?

請注意下面提到的所有索引位置都遵循從零開始的索引。 分組和取消分組作業只能套用於包含值的儲存格。

在處理層次結構資料時,例如組織結構圖、具有子類別的財務報表或帶有階段的專案時間表,Excel 中的行分組功能尤其有用。 IronXL透過其直覺的 API 使這一過程變得簡單易行。 如需了解更多進階電子表格操作,請查閱我們全面的IronXL文件

如何使用 GroupRows 建立行組?

GroupRows 方法接受要套用分組的行的索引位置。 如果需要,您可以對相同或不同的行組多次使用此方法。 這在將資料整理成使用者可以展開或折疊以獲得更好閱讀體驗的邏輯部分時尤其有用。

在處理員工資料、財務記錄或庫存清單時,行分組可讓您建立可折疊部分,從而改善電子表格的導覽。 此方法接受兩個參數:起始行索引和結束行索引(包含起始行索引和結束行索引)。

:path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-group-row.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Ungroup row 1-9
workSheet.GroupRows(0, 7);

workBook.SaveAs("groupRow.xlsx");
$vbLabelText   $csharpLabel

輸出

Excel sheet with rows 1-9 selected for grouping, showing employee data with ID, name, and job title columns

對於更複雜的情況,您可以在同一個工作表中建立巢狀群組或多個單獨的群組。 了解更多關於如何選擇範圍以有效處理特定資料部分的資訊。

如何使用 UngroupRows 刪除行組?

使用 UngroupRows 方法取消先前分組的行的分組。 這種方法還可以透過將操作應用於群組的中間部分,將群組拆分成兩部分。但是,除非再次分組,否則拆分後的部分不會形成單獨的群組。

當您需要重新組織資料結構,或為可能不需要分組層次結構的不同受眾準備電子表格時,取消分組功能至關重要。 這種方法可以靈活地動態管理 Excel 資料組織。

:path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-ungroup-row.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Ungroup row 3-5
workSheet.UngroupRows(2, 4);

workBook.SaveAs("ungroupRow.xlsx");
$vbLabelText   $csharpLabel

輸出

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中對列進行分組和取消分組?

在處理包含多個資料類別的大型電子表格時,列分組尤其有用。 例如,在管理財務資料時,您可以將每月列按季度分組;或者在處理員工資料時,您可以將個人資訊列與績效指標分開分組。 如需更多資料處理技巧,請參閱我們的新增行和列指南

如何使用 GroupColumns 建立列組?

列可以像行一樣進行分組。 使用 GroupColumns 方法,透過指定索引號或列字元對列進行分組。 這種靈活性使您可以根據應用程式的需要,以最方便的格式使用列引用。

在產生需要顯示匯總資料並提供向下鑽取詳細資訊選項的報表時,以程式設計方式對列進行分組的功能非常寶貴。 這常用於財務報告、庫存管理和數據分析應用。

:path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-group-column.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Apply grouping to column A-F
workSheet.GroupColumns(0, 5);

workBook.SaveAs("groupColumn.xlsx");
$vbLabelText   $csharpLabel

輸出

Excel spreadsheet with employee data showing column C (Job Title) highlighted by red arrow for grouping demonstration

如何使用 UngroupColumns 刪除列組?

與取消行分組類似,您可以使用 UngroupColumns 方法來拆分列組。 在列組的中間應用此方法,會將列組分成兩部分。 在重新組織報告或調整電子表格以適應不同的查看偏好時,此功能尤其有用。

處理複雜的電子表格時,取消分組可以暫時扁平化層次結構,以便進行排序或對所有欄位應用公式等操作。

:path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-ungroup-column.cs
using IronXL;

// Load existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Ungroup column C-D
workSheet.UngroupColumn("C", "D");

workBook.SaveAs("ungroupColumn.xlsx");
$vbLabelText   $csharpLabel

輸出

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功能結合使用。 以下範例示範如何建立多個巢狀組:

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");
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");
$vbLabelText   $csharpLabel

這種方法可以產生組織良好的財務報告,使用者可以根據需要折疊或展開各個部分。 如需了解更多格式設定選項,請參閱我們的條件格式設定指南,以反白分組部分中的重要資料。

最佳實踐和性能考量

在使用分組和取消分組作業時,請遵循以下最佳實務:

1.規劃結構:在實施前設計好分組層級結構,以避免過多的重新分組作業。
2.效能:分組運算雖然輕量級,但在處理大型資料集時,最好將操作批次處理。
3.使用者體驗:建立分組時要考慮最終使用者的角度-邏輯分組有助於提升資料理解能力。
4.與其他功能結合使用:利用 IronXL 的autosize功能,確保分組內容正確顯示。

對於複雜的企業應用程序,您可能還想在包含敏感分組資料的工作簿上實施password protection ,或在保持分組結構的同時實施export to different formats

概括

IronXL 的分組和取消分組功能為開發人員提供了強大的工具,可以以程式設計方式組織 Excel 資料。 無論是建立報告系統、資料分析工具或自動 Excel 產生器,這些功能都能幫助您建立專業、使用者友善的電子表格,從而增強資料的可讀性和導覽性。 IronXL能夠以程式方式控制資料組織,而無需依賴 Excel Interop,這使得它成為處理電子表格資料的現代.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 的分組功能對於組織階層式資料結構特別有用,例如包含子類別的財務報告、組織圖表、包含階段的專案時間表、員工記錄和庫存資料。它有助於建立可摺疊的區段,簡化大型資料集的導覽和分析。

我是否需要 Microsoft Office Interop 來在 C# 中群組行和列?

不,IronXL 可在不需要 Microsoft Office Interop 的情況下,以程式化的方式對行與列進行群組與解群。這讓它成為 C# .NET 應用程式更輕量且更方便部署的解決方案。

我可以將群組應用於多組行或列嗎?

是的,使用 IronXL,您可以針對相同或不同的行和列群組多次使用 GroupRows 和 GroupColumns 方法。這種靈活性可讓您依需要建立具有多個可摺疊部分的複雜層級資料結構。

儲存已群組的 Excel 資料時,支援哪些檔案格式?

IronXl.Excel 可讓您將具有群組行與列的 Excel 檔案匯出為各種檔案格式。套用分組作業後,您可以使用 SaveAs 方法儲存工作簿,以維持輸出檔案中的分組結構。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

準備好開始了嗎?
Nuget 下載 1,890,100 | 版本: 2026.3 剛剛發布

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronXl.Excel
執行範例 觀看您的資料變成試算表。