Các định dạng tệp XLSXXLS thường được sử dụng để thao tác dữ liệu lớn. Tương tự như vậy, AutoFilters được sử dụng để sắp xếp dữ liệu trong các tệp Excel. Sử dụng C# hoặc VB.NET, bạn có thể dễ dàng thêm hoặc xóa AutoFilter trong các tệp Excel bằng Aspose.Cells for .NET API. Bộ lọc có thể được sử dụng để định lượng một số dữ liệu để trích xuất một số thông tin có ý nghĩa. Ví dụ: một tổ chức muốn lọc những tháng có doanh số thấp để đưa ra và cải thiện các chiến lược của họ. Trong bài viết này, chúng ta sẽ khám phá lọc dữ liệu bằng bộ lọc tự động trong C#:

C# VB .NET Thêm hoặc Xóa Bộ lọc Tự động trong Tệp Excel - Cài đặt API

Aspose.Cells for .NET API cho phép bạn làm việc với bảng tính Excel một cách hiệu quả. Bạn có thể tạo, chỉnh sửa hoặc thao tác XLS, XLSX và các định dạng được hỗ trợ khác theo chương trình với mã tối thiểu. Bạn có thể tải xuống và cài đặt gói MSI hoặc ZIP từ phần Tải xuống hoặc chỉ cần cài đặt gói đó qua thư viện NuGet trong giải pháp của bạn. Ví dụ: bạn có thể dễ dàng cài đặt nó trong môi trường của mình bằng lệnh sau:

Install-Package Aspose.Cells -Version 20.9.0

Sau khi cài đặt API thành công, chúng ta hãy tiếp tục với một số trường hợp sử dụng quan trọng và hữu ích.

Áp dụng Bộ lọc Tự động trên các Ô trong Tệp Excel bằng C#

Bạn có thể áp dụng AutoFilter trên một phạm vi ô cụ thể trong tệp Excel. Điều này cho phép bạn sắp xếp các giá trị theo thứ tự tăng dần hoặc giảm dần cũng như các bộ lọc số khác khi các ô chứa giá trị số. Bạn cần làm theo các bước sau để áp dụng AutoFilter trong tệp Excel bằng C#:

  1. Mở tệp Excel và truy cập Bảng tính
  2. Tạo AutoFilter bằng cách chỉ định phạm vi ô cụ thể
  3. Lưu tệp XLS/XLSX đầu ra

Đoạn mã cho biết cách áp dụng AutoFilter trên các ô trong tệp Excel bằng C#:

// Khởi tạo một đối tượng Workbook
// Mở tệp Excel qua luồng tệp
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(dataDir + "book1.xls");

// Truy cập trang tính đầu tiên trong tệp Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

// Tạo Bộ lọc tự động bằng cách cung cấp phạm vi ô của hàng tiêu đề
worksheet.AutoFilter.Range = "A1:B1";

// Lưu tệp Excel đã sửa đổi
workbook.Save(dataDir + "output.xlsx");

Bạn có thể nhận thấy Bộ lọc tự động được thêm vào tệp XLSX nguồn trong ảnh chụp màn hình bên dưới:

AutoFilter-Excel-Csharp

Thêm Bộ lọc tự động ngày trong XLSX bằng C#

Dữ liệu trong file Excel thường chứa các thông tin liên quan đến ngày tháng. Đôi khi bạn có thể cần khám phá thông tin dựa trên các khoảng thời gian khác nhau có thể được xác định theo ngày tháng. Ví dụ chúng ta xét trường hợp cần lọc dữ liệu liên quan đến tháng 1 năm 2018 thì các bạn làm theo các bước sau:

  1. Tải bảng tính đầu vào
  2. Truy cập một trang tính
  3. Thêm Bộ lọc ngày và lưu tệp đầu ra

Mẫu mã sau đây thực hiện theo các bước này và cho biết cách thêm Bộ lọc tự động ngày trong tệp Excel bằng C#:

// Khởi tạo một đối tượng Workbook
// Mở tệp Excel qua luồng tệp
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Truy cập trang tính đầu tiên trong tệp Excel
Worksheet worksheet = workbook.Worksheets[0];

// Gọi hàm AddDateFilter để áp dụng bộ lọc
worksheet.AutoFilter.AddDateFilter(0, DateTimeGroupingType.Month, 2018, 1, 0, 0, 0, 0);

// Gọi chức năng làm mới để cập nhật trang tính
worksheet.AutoFilter.Refresh();

// Lưu tệp Excel đã sửa đổi
workbook.Save(dataDir + "FilteredDate.xlsx");

Thêm Tự động lọc ngày động trong XLSX bằng C#

Như chúng ta đã thảo luận về kịch bản lọc dữ liệu dựa trên ngày tháng. Tuy nhiên, kịch bản ngày cũng có thể chung chung hơn một chút, trong một số trường hợp. Ví dụ: chúng tôi cần lọc dữ liệu cho tháng 1 bất kể năm nào. Có thể dễ dàng xử lý các yêu cầu như vậy bằng bộ lọc ngày động bằng cách sử dụng các bước bên dưới:

  1. Tải tệp XLSX đầu vào
  2. Truy cập một trang tính
  3. Đặt DynamicFilter cho tháng 1
  4. Lưu trang tính Excel đầu ra

Ví dụ này là phần tiếp theo của ví dụ trên, trong đó đoạn mã dưới đây cho biết cách thêm Bộ lọc tự động ngày động vào tệp Excel theo cách lập trình trong C#:

// Khởi tạo một đối tượng Workbook
// Mở tệp Excel qua luồng tệp
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Truy cập trang tính đầu tiên trong tệp Excel
Worksheet worksheet = workbook.Worksheets[0];

// Gọi hàm DynamicFilter để áp dụng bộ lọc
worksheet.AutoFilter.DynamicFilter(0, DynamicFilterType.January);

// Gọi chức năng làm mới để cập nhật trang tính
worksheet.AutoFilter.Refresh();

// Lưu tệp Excel đã sửa đổi
workbook.Save(dataDir + "FilteredDynamicDate.xlsx");

Áp dụng Bộ lọc tự động số tùy chỉnh trong XLSX với C#

Bạn có thể lọc dữ liệu dựa trên dải số tùy chỉnh bằng Aspose.Cells for .NET API. Chẳng hạn, khi một công ty cần truy cập xem có bao nhiêu nhân viên của mình đã đạt được mục tiêu bán hàng. Tương tự như vậy, có thể có rất nhiều khả năng mà kỹ thuật lọc này có thể giúp ích. Giả sử một trường hợp chúng ta cần lọc tất cả dữ liệu có các số nằm trong phạm vi bao gồm 5 và 10, thì bạn cần thực hiện theo các bước dưới đây:

  1. Khởi tạo đối tượng Workbook và tải tệp đầu vào
  2. Thêm bộ lọc số tùy chỉnh trong một trang tính cụ thể
  3. Lưu tệp Excel đầu ra

Dựa trên các bước này, mã sau đây cho biết cách thêm Bộ lọc tự động số tùy chỉnh bằng C#:

// Khởi tạo một đối tượng Workbook
// Mở tệp Excel qua luồng tệp
Workbook workbook = new Workbook(dataDir + "Number.xlsx");

// Truy cập trang tính đầu tiên trong tệp Excel
Worksheet worksheet = workbook.Worksheets[0];

// Gọi chức năng Tùy chỉnh để áp dụng bộ lọc
worksheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, 5, true, FilterOperatorType.LessOrEqual, 10);

// Gọi chức năng làm mới để cập nhật trang tính
worksheet.AutoFilter.Refresh();

// Lưu tệp Excel đã sửa đổi
workbook.Save(dataDir + "FilteredNumber.xlsx");

Thêm Bộ lọc tự động tùy chỉnh với Chứa bằng C#

Di chuyển thêm một bước nữa từ Bộ lọc tự động số tùy chỉnh, chúng ta hãy tìm hiểu cách thêm Bộ lọc tự động tùy chỉnh có thể được sử dụng để theo dõi văn bản cụ thể bằng cách sử dụng Toán tử bộ lọc. Có thể hữu ích khi tìm kiếm các từ trong đó bất kỳ văn bản nào có mặt một phần hoặc toàn bộ trong dữ liệu. Bạn nên làm theo các bước sau để đạt được các yêu cầu này:

  1. Tải tệp Excel đầu vào với dữ liệu
  2. Chỉ định phạm vi AutoFilterFilterOperatorType
  3. Lưu tệp XLSX đầu ra

Đoạn mã bên dưới cho biết cách thêm Bộ lọc tự động tùy chỉnh có Chứa bằng C#:

// Khởi tạo đối tượng Workbook chứa dữ liệu mẫu
Workbook workbook = new Workbook(dataDir + "sourseSampleCountryNames.xlsx");

// Truy cập trang tính đầu tiên trong tệp Excel
Worksheet worksheet = workbook.Worksheets[0];

// Tạo Bộ lọc tự động bằng cách cung cấp phạm vi ô
worksheet.AutoFilter.Range = "A1:A18";

// Khởi tạo bộ lọc cho các hàng chứa chuỗi "Ba"
worksheet.AutoFilter.Custom(0, FilterOperatorType.Contains, "Ba");

//Làm mới bộ lọc để hiển thị/ẩn các hàng đã lọc
worksheet.AutoFilter.Refresh();

// Lưu tệp Excel đã sửa đổi
workbook.Save(dataDir + "outSourseSampleCountryNames.xlsx");

Xóa hoặc xóa AutoFilter trong Excel bằng C#

Vì chúng ta đã biết các kịch bản khác nhau về việc thêm Bộ lọc tự động vào tệp Excel bằng C#, chúng ta hãy xem cách khác. Trường hợp sử dụng xóa hoặc xóa Bộ lọc tự động khỏi Excel cũng quan trọng và then chốt không kém. Bạn cần làm theo các bước bên dưới để xóa tất cả Bộ lọc tự động khỏi tệp XLSX:

  1. Tải tệp XLSX đầu vào
  2. Lặp lại qua từng trang tính và xóa Bộ lọc tự động
  3. Lưu tập tin đầu ra

Đoạn mã sau đây cho biết cách xóa Bộ lọc tự động khỏi tệp Excel bằng C#:

// Khởi tạo một đối tượng Workbook
// Mở tệp Excel
Workbook workbook = new Workbook(dataDir + "output.xlsx");
// Lặp lại qua từng trang tính
foreach (var sheet in workbook.Worksheets)
{
    // Xóa bộ lọc tự động
    sheet.RemoveAutoFilter();
}
// Lưu sổ làm việc
workbook.Save(dataDir + "AutoFilter_Removed.xlsx", SaveFormat.Xlsx);

Sự kết luận

Aspose.Cells for .NET API cung cấp cho bạn các tính năng vượt trội khác nhau. Việc thêm, xóa hoặc xóa AutoFilter bằng C# trong .NET Framework rất đơn giản và dễ dàng. Chúng tôi đã thảo luận chi tiết về một số khả năng. Trong trường hợp bạn có bất kỳ nghi ngờ hoặc thắc mắc nào, vui lòng liên hệ với chúng tôi tại Diễn đàn hỗ trợ miễn phí.

Xem thêm