XLSXXLS 文件格式經常用於處理大量數據。同樣,自動篩選器用於組織 Excel 文件中的數據。使用 C# 或 VB.NET,您可以使用 Aspose.Cells for .NET API 在 Excel 文件中輕鬆添加或刪除自動篩選。過濾器可以用來量化一些數據,從而提取一些有意義的信息。例如,一個組織想要過濾掉銷售額低的月份,以便制定和改進他們的策略。在本文中,我們將探索在 C# 中使用自動過濾器進行數據過濾:

C# VB .NET 在 Excel 文件中添加或刪除自動篩選 - API 安裝

Aspose.Cells for .NET API 讓您可以高效地處理 Excel 電子表格。您可以使用最少的代碼以編程方式創建、編輯或操作 XLS、XLSX 和其他受支持的格式。您可以從 下載部分 下載並安裝 MSI 或 ZIP 包,或者直接通過解決方案中的 NuGet 庫安裝它。例如,您可以使用以下命令輕鬆地將它安裝到您的環境中:

Install-Package Aspose.Cells -Version 20.9.0

成功安裝 API 後,讓我們繼續處理一些重要且有用的用例。

使用 C# 對 Excel 文件中的單元格應用自動篩選

您可以對 Excel 文件中特定範圍的單元格應用自動篩選。當單元格包含數值時,這允許您按升序或降序以及其他數字過濾器對值進行排序。您需要按照以下步驟使用 C# 在 Excel 文件中應用自動篩選:

  1. 打開 Excel 文件並訪問 工作表
  2. 通過指定特定的單元格範圍創建 AutoFilter
  3. 保存輸出 XLS/XLSX 文件

代碼片段顯示瞭如何使用 C# 對 Excel 文件中的單元格應用自動篩選:

// 實例化工作簿對象
// 通過文件流打開Excel文件
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(dataDir + "book1.xls");

// 訪問 Excel 文件中的第一個工作表
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

// 通過給標題行的單元格範圍創建自動篩選
worksheet.AutoFilter.Range = "A1:B1";

// 保存修改後的 Excel 文件
workbook.Save(dataDir + "output.xlsx");

您可以在下面的屏幕截圖中註意到源 XLSX 文件中添加的自動篩選器:

自動篩選-Excel-Csharp

使用 C# 在 XLSX 中添加日期自動篩選器

Excel 文件中的數據通常包含與日期相關的信息。有時,您可能需要根據可以通過日期識別的不同時間段來探索信息。例如,讓我們考慮需要過濾與 2018 年 1 月相關的數據的情況,那麼您需要按照以下步驟操作:

  1. 加載輸入電子表格
  2. 訪問工作表
  3. 添加日期過濾器並保存輸出文件

以下代碼示例遵循這些步驟並顯示如何使用 C# 在 Excel 文件中添加日期自動篩選:

// 實例化工作簿對象
// 通過文件流打開Excel文件
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// 訪問 Excel 文件中的第一個工作表
Worksheet worksheet = workbook.Worksheets[0];

// 調用 AddDateFilter 函數應用過濾器
worksheet.AutoFilter.AddDateFilter(0, DateTimeGroupingType.Month, 2018, 1, 0, 0, 0, 0);

// 調用刷新函數更新工作表
worksheet.AutoFilter.Refresh();

// 保存修改後的 Excel 文件
workbook.Save(dataDir + "FilteredDate.xlsx");

使用 C# 在 XLSX 中添加動態日期自動篩選器

正如我們已經討論過的根據日期過濾數據的場景。但是,在某些情況下,日期場景也可能更通用一些。例如,我們需要過濾掉 1 月的數據,而不管是哪一年。通過使用以下步驟,可以使用動態日期過濾器輕鬆處理此類要求:

  1. 加載輸入 XLSX 文件
  2. 訪問工作表
  3. 為一月份設置 DynamicFilter
  4. 保存輸出 Excel 工作表

此示例是上述示例的延續,下面的代碼片段顯示瞭如何在 C# 中以編程方式在 Excel 文件中添加動態日期自動篩選:

// 實例化工作簿對象
// 通過文件流打開Excel文件
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// 訪問 Excel 文件中的第一個工作表
Worksheet worksheet = workbook.Worksheets[0];

// 調用 DynamicFilter 函數應用過濾器
worksheet.AutoFilter.DynamicFilter(0, DynamicFilterType.January);

// 調用刷新函數更新工作表
worksheet.AutoFilter.Refresh();

// 保存修改後的 Excel 文件
workbook.Save(dataDir + "FilteredDynamicDate.xlsx");

使用 C# 在 XLSX 中應用自定義數字自動篩選

您可以使用 Aspose.Cells for .NET API 根據自定義數字範圍過濾數據。例如,當公司需要訪問有多少員工實現了銷售目標時。同樣,這種過濾技術可以在很多情況下發揮作用。假設這樣一種情況,我們需要過濾所有數字在 5 和 10 之間的數據(含 5 和 10),那麼您需要按照以下步驟操作:

  1. 實例化一個 Workbook 對象並加載輸入文件
  2. 在特定工作表中添加自定義數字過濾器
  3. 保存輸出 Excel 文件

基於這些步驟,以下代碼顯示瞭如何使用 C# 添加自定義數字自動篩選:

// 實例化工作簿對象
// 通過文件流打開Excel文件
Workbook workbook = new Workbook(dataDir + "Number.xlsx");

// 訪問 Excel 文件中的第一個工作表
Worksheet worksheet = workbook.Worksheets[0];

// 調用自定義函數以應用過濾器
worksheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, 5, true, FilterOperatorType.LessOrEqual, 10);

// 調用刷新函數更新工作表
worksheet.AutoFilter.Refresh();

// 保存修改後的 Excel 文件
workbook.Save(dataDir + "FilteredNumber.xlsx");

使用 C# 添加帶有 Contains 的自定義自動篩選器

從自定義數字自動篩選進一步,讓我們學習如何添加自定義自動篩選,它可用於使用 Contains Filter Operator 跟踪特定文本。搜索任何文本部分或全部出現在數據中的單詞可能很有用。您應該按照以下步驟來實現這些要求:

  1. 使用數據加載輸入 Excel 文件
  2. 指定 AutoFilter 範圍和 FilterOperatorType
  3. 保存輸出 XLSX 文件

下面的代碼片段顯示瞭如何使用 C# 添加帶有 Contains 的自定義自動篩選器:

// 實例化包含示例數據的工作簿對象
Workbook workbook = new Workbook(dataDir + "sourseSampleCountryNames.xlsx");

// 訪問 Excel 文件中的第一個工作表
Worksheet worksheet = workbook.Worksheets[0];

// 通過給單元格範圍創建自動篩選
worksheet.AutoFilter.Range = "A1:A18";

// 為包含字符串“Ba”的行初始化過濾器
worksheet.AutoFilter.Custom(0, FilterOperatorType.Contains, "Ba");

//刷新過濾器以顯示/隱藏過濾的行
worksheet.AutoFilter.Refresh();

// 保存修改後的 Excel 文件
workbook.Save(dataDir + "outSourseSampleCountryNames.xlsx");

使用 C# 在 Excel 中刪除或刪除自動篩選

由於我們了解了使用 C# 在 Excel 文件中添加自動篩選器的不同方案,讓我們看看其他方法。從 Excel 中移除或刪除自動篩選器的用例同樣重要和關鍵。您需要按照以下步驟從 XLSX 文件中刪除所有自動篩選器:

  1. 加載輸入 XLSX 文件
  2. 遍歷每個工作表並刪除 AutoFilters
  3. 保存輸出文件

以下代碼片段顯示瞭如何使用 C# 從 Excel 文件中刪除自動篩選器:

// 實例化工作簿對象
// 打開 Excel 文件
Workbook workbook = new Workbook(dataDir + "output.xlsx");
// 遍歷每個工作表
foreach (var sheet in workbook.Worksheets)
{
    // 刪除自動過濾器
    sheet.RemoveAutoFilter();
}
// 保存工作簿
workbook.Save(dataDir + "AutoFilter_Removed.xlsx", SaveFormat.Xlsx);

結論

Aspose.Cells for .NET API 為您提供不同的開箱即用功能。在 .NET Framework 中使用 C# 添加、刪除或刪除自動篩選器非常簡單。我們已經詳細討論了幾種可能性。如果您有任何疑問或疑慮,請隨時通過 免費支持論壇 與我們聯繫。

也可以看看