
空白儲存格可能在 Excel 報告和分析中造成問題。過濾它們有助於清理和整理數據,以獲得更好的結果。自動化如何在 Excel 中過濾空白儲存格可以節省時間並提高生產力。只需幾行代碼,您就可以快速準確地處理大型電子表格。本博客將指導您使用 C# 過濾空白和非空白儲存格的過程。讓我們深入了解吧!
這篇文章涵蓋以下主題:
C# Excel 函式庫以過濾空白和非空白儲存格
Aspose.Cells for .NET 是一個強大的庫,幫助開發者創建、編輯和管理 Excel 文件,而無需使用 Microsoft Excel。它讓您完全控制電子表格,包括對數據應用過濾器的能力。
當涉及過濾空白或非空白單元格時,Aspose.Cells 使這個過程變得簡單。您可以為特定列添加過濾器,選擇空白或非空白選項,並更新工作表——這一切都是通過清晰易讀的代碼完成的。與手動編輯相比,這節省了時間並減少了錯誤。
無論您是在建立報告、清理數據還是準備摘要,Aspose.Cells 讓您能夠高效自動化過濾過程。
在開始之前,請確保您擁有以下內容:
安裝 Aspose.Cells for .NET
通過 NuGet 套件管理器安裝:
- 在 Visual Studio 中打開你的 .NET 項目。
- 轉到工具 → NuGet 包管理器 → 管理解決方案的 NuGet 包。
- 搜尋 Aspose.Cells 並安裝該套件。
或在套件管理器控制台中執行此命令:
Install-Package Aspose.Cells
手動下載:
- 您也可以從 Aspose.Cells for .NET Downloads 頁面下載它。
如何在 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 過濾空白單元格
理解過濾中使用的關鍵類別
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 中的非空單元格
如果您想要更多控制權(例如根據特定文本值進行篩選),您可以多次使用
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# 中結合多個過濾器
在這個例子中:
- 它顯示了兩行有空白單元格的行和國家代碼列為 "AFG" 的行。
- 您可以在調用
Refresh()
之前添加任意多的過濾器值。
提示:要在多個列上進行篩選,只需對其他列索引使用
AddFilter
。
獲取免費許可證
你是否有興趣探索 Aspose 產品?請訪問 license page 獲取免費的臨時許可證。開始使用非常簡單,您可以體驗 Aspose.Cells for .NET 的全部功能!
Excel 筛选空白:免费资源
想要深入了解如何使用 Aspose.Cells for .NET 處理 Excel 檔案嗎?請查看這些免費資源:
- Developer’s Guide — 學習如何以程式方式創建、編輯、篩選和自動化 Excel 文件。
- Free Online Applications — 嘗試各種現成的 Excel 工具,如轉換器、合併器和線上編輯器。
- API Reference — 瀏覽 Aspose.Cells for .NET 的完整 API 文檔。
- 如何指導和文章 — 在 Aspose 博客上尋找教程、提示和實際案例。
結論
在 Excel 中過濾空白或非空白單元格變得簡單而高效,使用 Aspose.Cells for .NET。您可以自動化數據清理,構建更智能的報告,並節省數小時的手動工作。無論您是在處理小文件還是龐大的數據集,Aspose.Cells 都可以通過代碼讓您完全控制過濾、格式化和導出 Excel 文件。
如果您有任何問題或需要進一步的協助,請隨時在我們的 free support forum 聯繫我們。