Lọc thông tin trong bảng tính Excel là một tính năng quan trọng. Nó cho phép bạn ẩn dữ liệu không liên quan và chỉ hiển thị dữ liệu đáp ứng các tiêu chí cụ thể. Có thể có những trường hợp mà việc lọc dữ liệu có thể hữu ích. Ví dụ: một tổ chức có thể muốn lọc ra các sản phẩm hoạt động kém khỏi báo cáo bán hàng để phân tích và cải thiện chiến lược bán hàng của họ. Trong bài viết này, bạn sẽ tìm hiểu cách thêm hoặc xóa AutoFilter trong tệp Excel bằng C ++.

API C ++ để thêm và xóa bộ lọc tự động trong tệp Excel

Chúng tôi sẽ sử dụng API Aspose.Cells for C ++ để thêm và xóa AutoFilter trong các tệp Excel. Đây là một thư viện C ++ gốc cho phép bạn tạo, đọc và sửa đổi các tệp Excel mà không yêu cầu cài đặt Microsoft Excel. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.

PM> Install-Package Aspose.Cells.Cpp

Áp dụng Tự động lọc trong Tệp Excel bằng C ++

Bạn có thể áp dụng AutoFilter trên một loạt các ô. Bộ lọc tự động cho phép bạn sắp xếp và lọc các giá trị trong phạm vi ô nhất định. Sau đây là các bước để thêm Tự động lọc trong tệp Excel.

Mã mẫu sau đây cho thấy cách áp dụng Bộ lọc Tự động cho một dải ô trong tệp Excel bằng C ++.

// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\");

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Tải tệp Excel nguồn
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx")));

// Truy cập trang tính đầu tiên trong tệp Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Tạo AutoFilter bằng cách cung cấp phạm vi ô
worksheet->GetIAutoFilter()->SetRange(new String("A1:B1"));

// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
Hình ảnh của tệp đầu ra được tạo bởi mã mẫu

Hình ảnh của tệp đầu ra được tạo bởi mã mẫu

Thêm tự động lọc ngày trong tệp Excel bằng C ++

Tệp Excel có thể chứa dữ liệu dựa trên ngày tháng. Bạn có thể thấy mình trong các tình huống mà bạn cần lọc và phân tích dữ liệu dựa trên các ngày khác nhau. Do đó, bộ lọc ngày sẽ tỏ ra hữu ích trong những trường hợp như vậy. Sau đây là các bước để thêm Tự động lọc ngày tháng trong tệp Excel.

Mã mẫu sau đây trình bày cách thêm Bộ lọc tự động ngày tháng trong tệp Excel bằng C ++.

// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\");

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Tải tệp Excel nguồn
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// Truy cập trang tính đầu tiên trong tệp Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Gọi hàm AddDateFilter để áp dụng bộ lọc
worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0);

// Gọi chức năng Làm mới để cập nhật trang tính
worksheet->GetIAutoFilter()->Refresh();

// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));

Thêm tự động lọc ngày tháng động trong tệp Excel bằng C ++

Có thể có những trường hợp bạn cần một bộ lọc ngày chung chung hơn, chẳng hạn như tháng không phân biệt năm hoặc tháng trước tháng hiện tại. Đối với các trường hợp như thế này, bạn có thể sử dụng Bộ lọc tự động động để lọc dữ liệu. Sau đây là các bước để lọc dữ liệu bằng Tự động lọc ngày tháng động.

Mã mẫu sau đây trình bày cách thêm Tự động lọc ngày tháng động trong tệp Excel bằng C ++.

// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\");

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Tải tệp Excel nguồn
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));

// Truy cập trang tính đầu tiên trong tệp Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Gọi hàm DynamicFilter để áp dụng bộ lọc
worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray);

// Gọi chức năng Làm mới để cập nhật trang tính
worksheet->GetIAutoFilter()->Refresh();

// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));

Áp dụng bộ lọc tự động tùy chỉnh trong tệp Excel bằng C ++

Trong trường hợp bạn muốn áp dụng AutoFilter tùy chỉnh, API Aspose.Cells cho C ++ sẽ giúp bạn. Sử dụng API, bạn có thể áp dụng Bộ lọc Tự động tùy chỉnh trong các tệp Excel dựa trên các yêu cầu cụ thể của bạn. Sau đây là các bước để thêm Bộ lọc Tự động tùy chỉnh trong tệp Excel.

Mã mẫu sau đây cho thấy cách thêm Bộ lọc Tự động tùy chỉnh trong các tệp Excel bằng C ++.

// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\");

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Tải tệp Excel nguồn
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx")));

// Truy cập trang tính đầu tiên trong tệp Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Gọi chức năng Tùy chỉnh để áp dụng bộ lọc
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));

// Gọi chức năng Làm mới để cập nhật trang tính
worksheet->GetIAutoFilter()->Refresh();

// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));

Loại bỏ AutoFilter khỏi các tệp Excel

Trong các phần trước, bạn đã học cách thêm các Bộ lọc Tự động khác nhau trong các tệp Excel. Ngoài việc thêm Bộ lọc tự động, bạn cũng có thể xóa chúng bằng cách sử dụng API Aspose.Cells cho C ++. Sau đây là các bước để loại bỏ Bộ lọc Tự động khỏi tệp Excel.

Mã mẫu sau đây cho biết cách loại bỏ Bộ lọc Tự động khỏi tệp Excel bằng C ++.

// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\");

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Tải tệp Excel nguồn
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx")));

// Truy cập trang tính đầu tiên trong tệp Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Xóa bộ lọc tự động
worksheet->RemoveAutoFilter();

// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));

Nhận giấy phép miễn phí

Bạn có thể dùng thử API mà không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách thêm và xóa Bộ lọc Tự động khỏi tệp Excel bằng C ++. Cụ thể, bạn đã học cách thêm Bộ lọc tự động mặc định, Ngày tháng, Ngày động và Bộ lọc tự động tùy chỉnh. Bạn cũng đã thấy cách loại bỏ AutoFilter bằng cách sử dụng Aspose.Cells cho C ++ API. API cung cấp nhiều tính năng bổ sung để làm việc với các tệp Excel. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Trong trường hợp có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm