在 Excel 中使用 C# 過濾空白和非空白單元格

空白儲存格可能在 Excel 報告和分析中造成問題。過濾它們有助於清理和整理數據,以獲得更好的結果。自動化如何在 Excel 中過濾空白儲存格可以節省時間並提高生產力。只需幾行代碼,您就可以快速準確地處理大型電子表格。本博客將指導您使用 C# 過濾空白和非空白儲存格的過程。讓我們深入了解吧!

這篇文章涵蓋以下主題:

C# Excel 函式庫以過濾空白和非空白儲存格

Aspose.Cells for .NET 是一個強大的庫,幫助開發者創建、編輯和管理 Excel 文件,而無需使用 Microsoft Excel。它讓您完全控制電子表格,包括對數據應用過濾器的能力。

當涉及過濾空白或非空白單元格時,Aspose.Cells 使這個過程變得簡單。您可以為特定列添加過濾器,選擇空白或非空白選項,並更新工作表——這一切都是通過清晰易讀的代碼完成的。與手動編輯相比,這節省了時間並減少了錯誤。

無論您是在建立報告、清理數據還是準備摘要,Aspose.Cells 讓您能夠高效自動化過濾過程。

在開始之前,請確保您擁有以下內容:

安裝 Aspose.Cells for .NET

  1. 通過 NuGet 套件管理器安裝:

    • 在 Visual Studio 中打開你的 .NET 項目。
    • 轉到工具 → NuGet 包管理器 → 管理解決方案的 NuGet 包。
    • 搜尋 Aspose.Cells 並安裝該套件。

或在套件管理器控制台中執行此命令:

Install-Package Aspose.Cells
  1. 手動下載:

如何在 C# 中使用 Aspose.Cells 過濾空白單元格

在 Excel 中使用 Aspose.Cells 過濾空白單元格是一個簡單的過程。您需要加載文件,對特定範圍應用自動篩選,然後過濾掉空白條目。以下是逐步操作的方法:

1. 載入 Excel 檔案

首先,您需要將 Excel 文件加載到 Workbook 對象中。

// Load an existing Excel file
Workbook workbook = new Workbook("input.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

2. 應用自動篩選器

設定要應用過濾器的範圍。通常,這是您想要清理的表格或數據區域。

// Apply AutoFilter on the desired range
worksheet.AutoFilter.Range = "A1:C20"; // Adjust the range based on your data

3. 過濾空白儲存格

現在,對特定列添加過濾器。在這裡,我們將過濾第一列(索引 0)中的空白單元格。

方法 1:調用 MatchBlanks 函數以應用篩選器

worksheet.AutoFilter.MatchBlanks(1);

方法 2:呼叫 AddFilter 函數並將條件設置為 null

worksheet.AutoFilter.AddFilter(1, null);

方法 3:對第一欄的空白單元格應用篩選器

worksheet.AutoFilter.AddFilter(0, ""); // Empty string represents blank cells
worksheet.AutoFilter.Refresh();

最後,保存過濾後的文件。

// Save the updated file
workbook.Save("filtered_blank_cells.xlsx");

完整代碼範例:在 C# 中過濾空白單元格

using Aspose.Cells;

// 載入 Excel 檔案
Workbook workbook = new Workbook("sample_blanks.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

// 將自動篩選應用於特定範圍
worksheet.AutoFilter.Range = "A1:C20";

// 呼叫 AddFilter 函數並將條件設置為 \"\"
worksheet.AutoFilter.AddFilter(1, "");
worksheet.AutoFilter.Refresh();

// Save the output
workbook.Save("filtered_blank_cells.xlsx");
如何在 C# 中使用 Aspose.Cells 過濾空白單元格

如何在 C# 中使用 Aspose.Cells 過濾空白單元格

理解過濾中使用的關鍵類別

  • AutoFilter.Range 定義將應用過濾器的單元格範圍。

  • AddFilter(columnIndex, criteria) 將過濾條件添加到特定的列。在這種情況下,空字符串 \"\" 過濾空白單元格。

  • Refresh() 根據添加的條件應用和更新過濾器。

在 Excel 中使用 C# 过滤非空单元格

使用 Aspose.Cells 過濾非空單元格同樣簡單。您可以過濾所有可用值,排除空白,而不是將過濾器設置為空字符串。

// Filter out blank cells in the first column (index 0)
worksheet.AutoFilter.Filter(0, 0); // 0 represents filtering non-blank cells

小修改以僅過濾非空單元格

您可以直接使用 MatchNonBlanks() 方法。或者,如果需要,您也可以手動列出已知的非空條目。

using Aspose.Cells;

// 載入您的工作簿
var workbook = new Workbook("sample_blanks.xlsx");

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

// 呼叫 MatchBlanks 函數以應用篩選器
worksheet.AutoFilter.MatchNonBlanks(1);

// 呼叫刷新功能以更新工作表
worksheet.AutoFilter.Refresh();

// 保存修改過的 Excel 檔案
workbook.Save("filtered_non_blanks.xlsx");
在 C# 中使用 Excel 過濾非空單元格

在 C# 中過濾 Excel 中的非空單元格

如果您想要更多控制權(例如根據特定文本值進行篩選),您可以多次使用 AddFilter,並使用實際值而不是空字串。

在 C# 中結合多個篩選器

Aspose.Cells for .NET 也讓您可以同時應用多個篩選器。您可以在同一範圍內篩選空白單元格、特定文本值或數字。

這在您想要時很有用:

  • 僅顯示空白單元格和某些特定條目。
  • 將多個條件合併在一列中。
  • 在多個列上應用不同的過濾器。

範例:結合過濾器

 using Aspose.Cells;
 
 // 載入 Excel 檔案
 Workbook workbook = new Workbook("sample_blanks.xlsx");
 Worksheet worksheet = workbook.Worksheets[0];

 // 設定自動篩選範圍
 worksheet.AutoFilter.Range = "A1:C20";

 // 在第一列(索引 0)中添加多個過濾器
 worksheet.AutoFilter.AddFilter(1, "");       // Blank cells
 worksheet.AutoFilter.AddFilter(1, "AFG");    // Specific text value
 worksheet.AutoFilter.Refresh();

 // Save the result
 workbook.Save("combined_filtered.xlsx", SaveFormat.Xlsx);
在 C# 中結合多個篩選器

在 C# 中結合多個過濾器

在這個例子中:

  • 它顯示了兩行有空白單元格的行和國家代碼列為 "AFG" 的行。
  • 您可以在調用 Refresh() 之前添加任意多的過濾器值。

提示:要在多個列上進行篩選,只需對其他列索引使用 AddFilter

獲取免費許可證

你是否有興趣探索 Aspose 產品?請訪問 license page 獲取免費的臨時許可證。開始使用非常簡單,您可以體驗 Aspose.Cells for .NET 的全部功能!

Excel 筛选空白:免费资源

想要深入了解如何使用 Aspose.Cells for .NET 處理 Excel 檔案嗎?請查看這些免費資源:

結論

在 Excel 中過濾空白或非空白單元格變得簡單而高效,使用 Aspose.Cells for .NET。您可以自動化數據清理,構建更智能的報告,並節省數小時的手動工作。無論您是在處理小文件還是龐大的數據集,Aspose.Cells 都可以通過代碼讓您完全控制過濾、格式化和導出 Excel 文件。

如果您有任何問題或需要進一步的協助,請隨時在我們的 free support forum 聯繫我們。

查看其他內容