Excel 스프레드시트에서 정보를 필터링하는 것은 중요한 기능입니다. 관련 없는 데이터는 숨기고 특정 기준에 맞는 데이터만 표시할 수 있습니다. 데이터 필터링이 도움이 될 수 있는 시나리오가 있을 수 있습니다. 예를 들어, 조직은 판매 전략을 분석하고 개선하기 위해 판매 보고서에서 실적이 저조한 제품을 필터링할 수 있습니다. 이 기사에서는 C++를 사용하여 Excel 파일에서 자동 필터를 추가하거나 제거하는 방법을 배웁니다.
- Excel 파일에서 자동 필터 추가 및 제거를 위한 C++ API
- C++를 사용하여 Excel 파일에 자동 필터 적용
- C++를 사용하여 Excel 파일에 날짜 자동 필터 추가
- C++를 사용하여 Excel 파일에 동적 날짜 자동 필터 추가
- C++를 사용하여 Excel 파일에 사용자 지정 자동 필터 적용
- Excel 파일에서 자동 필터 제거
Excel 파일에서 자동 필터 추가 및 제거를 위한 C++ API
Excel 파일에서 AutoFilter를 추가 및 제거하기 위해 Aspose.Cells for C++ API를 사용합니다. Microsoft Excel을 설치하지 않고도 Excel 파일을 만들고 읽고 수정할 수 있는 기본 C++ 라이브러리입니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.
PM> Install-Package Aspose.Cells.Cpp
C++를 사용하여 Excel 파일에 자동 필터 적용
셀 범위에 자동 필터를 적용할 수 있습니다. 자동 필터를 사용하면 지정된 셀 범위에서 값을 정렬하고 필터링할 수 있습니다. 다음은 Excel 파일에 자동 필터를 추가하는 단계입니다.
- 먼저 IWorkbook 클래스를 사용하여 Excel 파일을 로드합니다.
- IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 메서드를 사용하여 AutoFilter를 적용할 워크시트를 검색합니다.
- IWorksheet->GetIAutoFilter()->SetRange(intrusiveptr)를 사용하여 자동 필터를 적용합니다.Aspose::Cells::Systems::String 값) 메서드입니다.
- 마지막으로 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) 메서드입니다.
다음 샘플 코드는 C++를 사용하여 Excel 파일의 셀 범위에 AutoFilter를 적용하는 방법을 보여줍니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 소스 Excel 파일 로드
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book3.xlsx")));
// Excel 파일의 첫 번째 워크시트에 액세스
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 셀 범위를 지정하여 자동 필터 만들기
worksheet->GetIAutoFilter()->SetRange(new String("A1:B1"));
// 엑셀 파일 저장
workbook->Save(outDir->StringAppend(new String("AutoFilter_out.xlsx")));
C++를 사용하여 Excel 파일에 날짜 자동 필터 추가
Excel 파일에는 날짜를 기반으로 한 데이터가 포함될 수 있습니다. 다양한 날짜를 기준으로 데이터를 필터링하고 분석해야 하는 시나리오에 직면할 수 있습니다. 따라서 날짜 필터는 이러한 시나리오에서 도움이 될 것입니다. 다음은 Excel 파일에 날짜 자동 필터를 추가하는 단계입니다.
- 먼저 IWorkbook 클래스를 사용하여 Excel 파일을 로드합니다.
- IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 메서드를 사용하여 AutoFilter를 적용할 워크시트를 검색합니다.
- IWorksheet->GetIAutoFilter()->AddDateFilter(Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::DateTimeGroupingType dateTimeGroupingType, Aspose::Cells::Systems::Int32 year, Aspose)를 사용하여 날짜 자동 필터를 적용합니다. ::Cells::Systems::Int32월, Aspose::Cells::Systems::Int32일, Aspose::Cells::Systems::Int32시간, Aspose::Cells::Systems::Int32분, Aspose:: Cells::Systems::Int32 second) 메서드.
- 워크시트를 업데이트하려면 IWorksheet->GetIAutoFilter()->Refresh() 메서드를 사용합니다.
- 마지막으로 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) 메서드입니다.
다음 샘플 코드는 C++를 사용하여 Excel 파일에 날짜 자동 필터를 추가하는 방법을 보여줍니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 소스 Excel 파일 로드
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));
// Excel 파일의 첫 번째 워크시트에 액세스
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// AddDateFilter 함수를 호출하여 필터 적용
worksheet->GetIAutoFilter()->AddDateFilter(0, DateTimeGroupingType_Month, 2018, 1, 1, 0, 0, 0);
// 새로 고침 함수를 호출하여 워크시트 업데이트
worksheet->GetIAutoFilter()->Refresh();
// 엑셀 파일 저장
workbook->Save(outDir->StringAppend(new String("DateFilter_out.xlsx")));
C++를 사용하여 Excel 파일에 동적 날짜 자동 필터 추가
연도에 관계없는 월이나 현재 월 이전 달과 같이 보다 일반적인 날짜 필터가 필요한 경우가 있을 수 있습니다. 이와 같은 시나리오의 경우 동적 자동 필터를 사용하여 데이터를 필터링할 수 있습니다. 다음은 동적 날짜 자동 필터를 사용하여 데이터를 필터링하는 단계입니다.
- 먼저 IWorkbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
- IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 메서드를 사용하여 AutoFilter를 적용할 워크시트를 검색합니다.
- IWorksheet->GetIAutoFilter()->DynamicFilter (Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::DynamicFilterType dynamicFilterType) 메서드를 사용하여 DynamicFilter를 적용합니다.
- 워크시트를 업데이트하려면 IWorksheet->GetIAutoFilter()->Refresh() 메서드를 사용합니다.
- 마지막으로 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) 메서드입니다.
다음 샘플 코드는 C++를 사용하여 Excel 파일에 동적 날짜 자동 필터를 추가하는 방법을 보여줍니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 소스 Excel 파일 로드
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Book4.xlsx")));
// Excel 파일의 첫 번째 워크시트에 액세스
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// DynamicFilter 함수를 호출하여 필터 적용
worksheet->GetIAutoFilter()->DynamicFilter(0, DynamicFilterType_Februray);
// 새로 고침 함수를 호출하여 워크시트 업데이트
worksheet->GetIAutoFilter()->Refresh();
// 엑셀 파일 저장
workbook->Save(outDir->StringAppend(new String("DynamicDateAutoFilter_out.xlsx")));
C++를 사용하여 Excel 파일에 사용자 지정 자동 필터 적용
사용자 정의 AutoFilter를 적용하려는 경우 C++ API용 Aspose.Cells에서 처리했습니다. API를 사용하면 특정 요구 사항에 따라 Excel 파일에 사용자 지정 자동 필터를 적용할 수 있습니다. 다음은 Excel 파일에 사용자 지정 자동 필터를 추가하는 단계입니다.
- 먼저 IWorkbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
- IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 메서드를 사용하여 AutoFilter를 적용할 워크시트를 검색합니다.
- IWorksheet->GetIAutoFilter()->Custom(Aspose::Cells::Systems::Int32 fieldIndex, Aspose::Cells::FilterOperatorType operatorType1, intrusiveptr)을 사용하여 사용자 지정 자동 필터를 적용합니다.Aspose::Cells::Systems::Object 기준1) 방법.
- IWorksheet->GetIAutoFilter()->Refresh() 메서드를 호출하여 워크시트를 업데이트합니다.
- 마지막으로 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) 메서드입니다.
다음 샘플 코드는 C++를 사용하여 Excel 파일에 사용자 지정 자동 필터를 추가하는 방법을 보여줍니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 소스 Excel 파일 로드
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleCountryNames.xlsx")));
// Excel 파일의 첫 번째 워크시트에 액세스
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 필터를 적용하려면 Custom 함수를 호출하세요.
worksheet->GetIAutoFilter()->Custom(0, FilterOperatorType_Equal, new String("Brazil"));
// 새로 고침 함수를 호출하여 워크시트 업데이트
worksheet->GetIAutoFilter()->Refresh();
// 엑셀 파일 저장
workbook->Save(outDir->StringAppend(new String("CustomFilter_out.xlsx")));
Excel 파일에서 자동 필터 제거
이전 섹션에서는 Excel 파일에 다양한 자동 필터를 추가하는 방법을 배웠습니다. AutoFilter를 추가하는 것 외에도 Aspose.Cells for C++ API를 사용하여 제거할 수도 있습니다. 다음은 Excel 파일에서 자동 필터를 제거하는 단계입니다.
- 먼저 IWorkbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
- IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 메서드를 사용하여 AutoFilter를 제거할 워크시트를 검색합니다.
- IWorksheet->RemoveAutoFilter() 메서드를 사용하여 AutoFilter를 제거합니다.
- 마지막으로 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) 메서드입니다.
다음 샘플 코드는 C++를 사용하여 Excel 파일에서 AutoFilter를 제거하는 방법을 보여줍니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 소스 Excel 파일 로드
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleAutoFilter.xlsx")));
// Excel 파일의 첫 번째 워크시트에 액세스
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 자동 필터 제거
worksheet->RemoveAutoFilter();
// 엑셀 파일 저장
workbook->Save(outDir->StringAppend(new String("RemoveAutoFilter_out.xlsx")));
무료 라이선스 받기
무료 임시 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.
결론
이 문서에서는 C++를 사용하여 Excel 파일에서 자동 필터를 추가 및 제거하는 방법을 배웠습니다. 특히 기본, 날짜, 동적 날짜 및 사용자 지정 자동 필터를 추가하는 방법을 배웠습니다. 또한 Aspose.Cells for C++ API를 사용하여 AutoFilter를 제거하는 방법도 보았습니다. API는 Excel 파일 작업을 위한 많은 추가 기능을 제공합니다. 공식 문서에서 API를 자세히 살펴볼 수 있습니다. 질문이 있는 경우 무료 지원 포럼에서 언제든지 문의하십시오.