如何在 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中無需Interop的情況下實現程式化分組和解組。 無論是建立財務報告、管理庫存資料,還是組織員工記錄,IronXL的分組功能提供了建立使用者可以按需展開或折疊的層次結構資料的靈活性。

快速入門:輕鬆分組和解組列與欄

在幾秒鐘內開始組織您的Excel資料——只需載入工作簿,在其工作表上呼叫GroupRowsUngroupRowsGroupColumnsUngroupColumns,然後保存。 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");
Imports IronXL

' Load existing spreadsheet
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet

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

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

輸出

選取第 1-9 列進行分組的 Excel 工作表,顯示含 ID、姓名與職稱欄位的員工資料

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

如何使用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");
Imports IronXL

' Load existing spreadsheet
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet

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

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

輸出

選取第 2-9 列(以紅色反白)的 Excel 試算表,顯示分組前的員工資料
Excel 試算表顯示已分組的第 2-9 列員工資料,並反白顯示分組控制項

如何在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");
Imports IronXL

' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

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

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

輸出

含員工資料的 Excel 試算表,以紅色箭頭反白顯示 C 欄(職稱)以進行分組示範

如何使用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");
Imports IronXL

' Load existing spreadsheet
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

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

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

輸出

含員工資料的 Excel 試算表,以紅色箭頭指向職稱欄位以進行分組示範
含分組欄位的 Excel 試算表,顯示員工資料並以紅色箭頭反白顯示欄位分組控制項

高級分組技術

對於更複雜的Excel自動化場景,您可以將分組與其他IronXL功能結合使用。 以下是一個演示建立多個巢狀分組的範例:

:path=/static-assets/excel/content-code-examples/how-to/group-and-ungroup-rows-columns-6.cs
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");
Imports IronXL

' Create hierarchical grouping for financial data
Dim workBook As WorkBook = WorkBook.Load("financial_report.xlsx")
Dim workSheet As 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`](https://ironsoftware.com/csharp/excel/how-to/autosize-rows-columns/)功能以確保分組內容顯示正確

對於複雜的企業應用,您可能還希望在包含敏感分組資料的工作簿上實施[`password protection`](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)`或`[`export to different formats`](https://ironsoftware.com/csharp/excel/how-to/convert-spreadsheet-file-types/),同時維持分組結構。

總結

IronXL的分組和解組功能為開發人員提供強大的工具,以程式化的方式組織Excel資料。 無論是建立報告系統、資料分析工具還是自動化的Excel生成器,這些功能使您能夠建立專業的、使用者友好的試算表,增強資料的可讀性和導航性。 能夠在不依賴Excel Interop的情況下程式化地控制資料組織,使IronXL成為現代.NET應用處理試算表資料的必要工具。

常見問題

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

您可以使用 IronXL 的 GroupRows 方法在 Excel 中分組行。只需載入您的活頁簿,在工作表上調用您想要分組的行的索引位置的 GroupRows,然後儲存檔案。例如:IronXL.WorkBook.Load("data.xlsx").DefaultWorkSheet.GroupRows(0, 4).WorkBook.SaveAs("grouped.xlsx");

我可以程式化地分組和拆分 Excel 中的列嗎?

是的,IronXL 提供 GroupColumns 和 UngroupColumns 方法,讓您用 C# 程式化地分組和拆分 Excel 試算表中的列。這些方法的工作原理與行分組類似,可以讓您建立可摺疊的列部份,而不需要 Interop 的相依性。

哪種型別的資料組織從行和列的分組中受益?

IronXL 的分組功能對於組織層次結構資料結構特別有用,例如具有子類別的財務報告、組織圖、具有階段的專案時間表、員工記錄和庫存資料。它有助於建立可摺疊的部份,簡化大型資料集的導航和分析。

我需要 Microsoft Office Interop 來在 C# 中分組行和列嗎?

不需要,IronXL 能夠在不需要 Microsoft Office Interop 的情況下程式化地分組和拆分行和列。這使它成為一個重量輕且能友好部署到 C# .NET 應用程式的解決方案。

我可以對多組行或列進行分組嗎?

是的,使用 IronXL,您可以多次使用 GroupRows 和 GroupColumns 方法來分組相同或不同的行和列。這種靈活性使您能夠建立具有多個可摺疊部份的複雜層次結構資料結構。

儲存分組的 Excel 資料時支持哪些文件格式?

IronXL 允許您將具分組行和列的 Excel 檔案匯出為各種文件格式。在應用分組操作後,您可以使用 SaveAs 方法儲存活頁簿,以在輸出檔案中保持分組結構。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備好開始了嗎?
Nuget 下載 2,150,290 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

仍在滾動嗎?

想要快速證明嗎? PM > Install-Package IronXL.Excel
運行一個範例 觀看您的資料成為試算表。