행과 열 복사는 Excel 파일로 작업하는 동안 수행되는 일반적인 작업입니다. 프로그래밍 방식으로 Excel 파일의 행이나 열을 복사해야 하는 상황이 있을 수 있습니다. 이러한 경우 이 기사에서는 C++를 사용하여 Excel 파일의 행과 열을 복사하는 방법을 설명합니다.
- Excel 파일의 행과 열 복사를 위한 C++ API
- C++를 사용하여 Excel 파일의 단일 행 복사
- C++를 사용하여 Excel 파일의 여러 행 복사
- C++를 사용하여 Excel 파일의 단일 열 복사
- C++를 사용하여 Excel 파일의 여러 열 복사
Excel 파일의 행과 열 복사를 위한 C++ API
Aspose.Cells for C++는 Microsoft Excel을 설치하지 않고도 Excel 파일을 만들고 읽고 수정할 수 있는 네이티브 C++ 라이브러리입니다. API는 Excel 파일의 행과 열을 복사하는 기능도 제공합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.
PM> Install-Package Aspose.Cells.Cpp
C++를 사용하여 Excel 파일의 단일 행 복사
다음은 다음 예제에서 사용할 원본 Excel 파일의 이미지입니다.
다음은 C++를 사용하여 Excel 파일의 단일 행을 복사하는 단계입니다.
- IWorkbook 클래스를 사용하여 Excel 파일을 로드합니다.
- 행을 복사할 워크시트를 검색합니다.
- CopyIRow(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex) 메서드입니다.
- IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) 메서드입니다.
다음 샘플 코드는 C++를 사용하여 Excel 파일의 행을 복사하는 방법을 보여줍니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 입력 엑셀 파일 불러오기
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// 첫 번째 워크시트 가져오기
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 행 복사
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);
// 엑셀 파일 저장
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
C++를 사용하여 Excel 파일의 여러 행 복사
여러 행을 복사하려면 복사할 총 행 수를 나타내는 추가 매개변수를 허용하는 CopyIRows 메서드를 사용합니다. 여러 행을 복사하려면 다음 단계를 따르십시오.
- IWorkbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
- 행을 복사할 워크시트를 검색합니다.
- CopyIRows(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex, Aspose::Cells::Systems::Int32 rowNumber) 메서드입니다.
- IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) 메서드입니다.
다음 샘플 코드는 C++를 사용하여 Excel 파일의 여러 행을 복사하는 방법을 보여줍니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 입력 엑셀 파일 불러오기
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// 첫 번째 워크시트 가져오기
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 행 복사
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);
// 엑셀 파일 저장
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
C++를 사용하여 Excel 파일의 단일 열 복사
다음은 C++를 사용하여 Excel 파일의 단일 열을 복사하는 단계입니다.
- IWorkbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
- 열을 복사할 워크시트를 검색합니다.
- CopyIColumn(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex) 메서드입니다.
- IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) 메서드입니다.
다음 샘플 코드는 C++를 사용하여 Excel 파일의 단일 열을 복사하는 방법을 보여줍니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 입력 엑셀 파일 불러오기
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// 첫 번째 워크시트 가져오기
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 열 복사
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);
// 엑셀 파일 저장
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
C++를 사용하여 Excel 파일의 여러 열 복사
여러 열을 복사하기 위해 복사할 총 열 수를 나타내는 추가 매개변수를 허용하는 CopyIColumns 메서드를 사용합니다. 여러 열을 복사하려면 다음 단계를 따르십시오.
- IWorkbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
- 열을 복사할 워크시트를 검색합니다.
- CopyIColumns(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex, Aspose::Cells::Systems::Int32 columnNumber) 메서드입니다.
- IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) 메서드입니다.
다음 샘플 코드는 C++를 사용하여 Excel 파일의 여러 열을 복사하는 방법을 보여줍니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 입력 엑셀 파일 불러오기
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// 첫 번째 워크시트 가져오기
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 열 복사
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);
// 엑셀 파일 저장
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
무료 라이선스 받기
평가 제한 없이 API를 사용하려면 무료 임시 라이선스를 요청할 수 있습니다.
결론
이 기사에서는 C++를 사용하여 Excel 파일의 행과 열을 복사하는 방법을 배웠습니다. 공유 코드 샘플은 Excel 파일에서 단일 및 다중 행과 열을 복사하는 방법을 보여줍니다. 이를 위해 Aspose.Cells for C++ API를 사용했습니다. Excel 파일 작업을 위한 많은 추가 기능을 제공하는 강력한 API입니다. 공식 문서를 방문하면 API에 대해 자세히 알아볼 수 있습니다. 문의 사항이 있는 경우 무료 지원 포럼에 문의해 주십시오.