Excel 파일은 부서별 예산이나 연간 판매 보고서와 같은 복잡한 데이터를 관리하는 데 사용됩니다. 보고서를 만드는 데 사용할 기성 템플릿이 있는 상황이 있을 수 있습니다. 이를 위해 템플릿 워크시트의 복사본을 만들 수 있습니다. 데이터 흐름을 보여주기 위해 워크시트를 구성해야 할 수도 있습니다. 이러한 경우 요구 사항에 따라 워크시트를 재정렬할 수 있습니다. 이에 비추어 C++를 사용하여 프로그래밍 방식으로 워크시트를 복사하고 이동하는 방법을 배웁니다.
- Excel 워크시트를 복사하거나 이동하는 C++ API
- C++를 사용하여 Excel 통합 문서 내에서 워크시트 복사
- 한 통합 문서에서 다른 통합 문서로 워크시트 복사
- C++를 사용하여 워크시트를 다른 위치로 이동
- 무료 라이선스 받기
Excel 워크시트를 복사하거나 이동하는 C++ API
Aspose.Cells for C++는 Microsoft Excel을 설치하지 않고도 Excel 파일을 만들고 읽고 업데이트할 수 있는 네이티브 C++ 라이브러리입니다. API는 Excel 워크시트 복사 및 이동도 지원합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.
PM> Install-Package Aspose.Cells.Cpp
C++를 사용하여 Excel 통합 문서 내에서 워크시트 복사
다음은 Excel 통합 문서 내에서 워크시트를 복사하는 단계입니다.
- IWorkbook 클래스를 사용하여 Excel 파일을 로드합니다.
- IWorkbook->GetIWorksheets() 메서드를 사용하여 워크시트 컬렉션을 검색합니다.
- IWorksheetCollection->AddCopy(intrusiveptrAspose::Cells::Systems::String sheetName) 메서드입니다.
- 마지막으로 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) 메서드입니다.
다음은 C++를 사용하여 Excel 통합 문서 내에서 워크시트를 복사하는 샘플 코드입니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 엑셀 파일 불러오기
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// 워크시트 검색
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();
// 통합 문서 내의 기존 시트에서 새 시트로 데이터를 복사합니다.
sheets->AddCopy(new String("Sheet1"));
// 엑셀 파일 저장
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));
한 통합 문서에서 다른 통합 문서로 워크시트 복사
Aspose.Cells for C++를 사용하면 두 Excel 파일 간에 워크시트를 복사할 수도 있습니다. 다음은 한 Excel 파일에서 다른 Excel 파일로 워크시트를 복사하는 단계입니다.
- 먼저 IWorkbook 클래스를 사용하여 원본 및 대상 Excel 파일을 로드합니다.
- IWorkbook->GetIWorksheets() 메서드를 사용하여 원본 통합 문서의 워크시트 컬렉션을 검색합니다.
- IWorksheetCollection->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 메서드를 사용하여 복사하려는 워크시트를 검색합니다.
- IWorkbook->GetIWorksheets()->GetObjectByIndex(Aspose::Cells::Systems::Int32 index)->Copy(intrusiveptrAspose::Cells::IWorksheet sourceSheet) 메서드입니다.
- 마지막으로 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) 메서드입니다.
다음은 C++를 사용하여 한 Excel 통합 문서에서 다른 Excel 통합 문서로 워크시트를 복사하는 샘플 코드입니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 소스 Excel 파일 로드
intrusive_ptr<IWorkbook> sourceWorkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// 대상 Excel 파일 로드
intrusive_ptr<IWorkbook> destinationWorkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("book1.xlsx")));
// 원본 통합 문서의 워크시트 검색
intrusive_ptr<IWorksheetCollection> sheets = sourceWorkbook->GetIWorksheets();
// 복사하려는 워크시트 검색
intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(0);
// 이전에 검색한 워크시트를 새 통합 문서로 복사
destinationWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);
// 엑셀 파일 저장
destinationWorkbook->Save(outDir->StringAppend(new String("book1_out.xlsx")));
C++를 사용하여 워크시트를 다른 위치로 이동
다음은 Excel 통합 문서 내에서 워크시트의 위치를 변경하는 단계입니다.
- IWorkbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
- IWorkbook->GetIWorksheets() 메서드를 사용하여 워크시트 컬렉션을 검색합니다.
- IWorksheetCollection->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 메서드를 사용하여 이동하려는 워크시트를 검색합니다.
- IWorksheet->MoveTo (Aspose::Cells::Systems::Int32 index) 메서드를 사용하여 워크시트를 원하는 위치로 이동합니다.
- 마지막으로 IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) 메서드입니다.
다음은 C++를 사용하여 동일한 통합 문서 내에서 워크시트를 다른 위치로 이동하는 샘플 코드입니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 엑셀 파일 불러오기
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// 워크시트 검색
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();
// 첫 번째 시트에 액세스
intrusive_ptr<IWorksheet> sheet = sheets->GetObjectByIndex(0);
// 첫 번째 시트를 통합 문서의 두 번째 위치로 이동합니다.
sheet->MoveTo(1);
// 엑셀 파일 저장
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));
무료 라이선스 받기
무료 임시 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.
결론
이 문서에서는 동일한 Excel 통합 문서 내에서 또는 다른 통합 문서 간에 워크시트를 복사하는 방법을 배웠습니다. 또한 Excel 파일 내에서 워크시트의 위치를 변경하는 방법을 살펴보았습니다. C++용 Aspose.Cells는 공식 문서를 방문하여 탐색할 수 있는 Excel 파일 작업을 위한 더 많은 기능을 제공합니다. 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의하십시오.