Excel은 정보 공유에 널리 사용되는 형식입니다. 데이터베이스로 가져와야 하는 Excel(XLS 또는 XLSX) 파일에 데이터가 있는 상황에 처할 수 있습니다. 이를 위해서는 Excel 파일을 CSV 형식으로 변환해야 합니다. 반면에 Excel 파일에서 추가로 조작해야 하는 데이터베이스에서 내보낸 CSV 형식의 데이터가 있을 수 있습니다. 이러한 경우 CSV 파일을 Excel 형식으로 변환해야 합니다. 이 기사에서는 C++를 사용하여 프로그래밍 방식으로 이러한 변환을 모두 수행하는 방법을 배웁니다.
- Excel 파일을 CSV로 변환하고 CSV 파일을 Excel 형식으로 변환하는 C++ API
- C++를 사용하여 Excel 파일을 CSV 형식으로 변환
- Excel 워크시트를 CSV 파일로 변환
- C++를 사용하여 CSV 파일을 Excel 형식으로 변환
- 무료 라이선스 받기
Excel 파일을 CSV로 변환하고 CSV 파일을 Excel 형식으로 변환하는 C++ API
Aspose.Cells for C++는 Excel 파일을 만들고 읽고 수정할 수 있는 네이티브 C++ 라이브러리입니다. 또한 API는 Excel 파일을 CSV 형식으로 또는 그 반대로 변환하는 것을 지원합니다. NuGet을 통해 API를 설치하거나 다운로드 섹션에서 직접 다운로드할 수 있습니다.
PM> Install-Package Aspose.Cells.Cpp
C++를 사용하여 Excel 파일을 CSV 형식으로 변환
Excel 파일을 CSV 형식으로 변환하는 것은 C++ API용 Aspose.Cells를 사용하면 아주 쉽습니다. 다음은 C++를 사용하여 Excel 파일을 CSV 형식으로 변환하는 단계입니다.
- IWorkbook 클래스를 사용하여 Excel 파일을 로드합니다.
- IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) 메서드.
다음은 Excel 파일을 CSV 형식으로 변환하는 샘플 코드입니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// 입력 엑셀 파일 불러오기
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// 출력 CSV 파일 저장
workbook->Save(outDir->StringAppend(new String("Sample1_out.csv")), SaveFormat_CSV);
Excel 워크시트를 CSV 파일로 변환
이전 예제에서는 Excel 파일에 여러 워크시트가 포함된 경우 첫 번째 워크시트만 변환합니다. 여러 워크시트를 CSV 형식으로 변환하려는 경우 다음 단계를 수행할 수 있습니다.
- IWorkbook 클래스를 이용하여 엑셀 파일을 불러옵니다.
- IWorkbook->GetIWorksheets() 메서드를 사용하여 워크시트를 검색합니다.
- 검색된 워크시트를 반복합니다.
- 루프 내에서 사용자 지정 논리를 지정하여 특정 워크시트를 CSV 파일로 변환할 수 있습니다. 이 데모에서는 모든 워크시트가 CSV 파일로 변환됩니다.
- IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) 메서드를 사용하여 변환할 워크시트를 검색합니다.
- 새 CSV 파일을 나타내는 IWorkbook 클래스의 인스턴스를 만듭니다.
- IWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(intrusiveptrAspose::Cells::IWorksheet sourceSheet) 메서드입니다.
- IWorkbook->Save(intrusiveptr)를 사용하여 새 통합 문서를 CSV로 저장합니다.Aspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) 메서드.
다음은 C++를 사용하여 Excel 워크시트를 CSV 파일로 변환하는 샘플 코드입니다.
// 소스 디렉토리 경로.
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<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();
for (int sheet = 0; sheet < sheets->GetCount(); sheet++)
{
// 복사할 워크시트 검색
intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(sheet);
// 새 통합 문서를 나타내는 IWorkbook 클래스의 인스턴스 만들기
intrusive_ptr<IWorkbook> newWorkbook = Factory::CreateIWorkbook();
// 이전에 검색한 워크시트를 새 통합 문서로 복사
newWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);
// 문자열 빌더를 지우고 문자열 연결로 출력 경로를 만듭니다.
stringBuilder->Clear();
stringBuilder->Append(outDir);
stringBuilder->Append((StringPtr)new String("Sample1_sheet_"));
stringBuilder->Append(sheet);
stringBuilder->Append((StringPtr)new String("_out.csv"));
// 출력 CSV 파일 저장
newWorkbook->Save(stringBuilder->ToString(), SaveFormat_CSV);
}
C++를 사용하여 CSV 파일을 Excel 형식으로 변환
다음은 C++를 사용하여 CSV 파일을 Excel 형식으로 변환하는 단계입니다.
- ILoadOptions 클래스의 인스턴스를 만듭니다.
- 앞서 생성한 ILoadOptions 인스턴스를 사용하여 IWorkbook 클래스의 객체를 생성합니다.
- IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) 메서드.
다음은 C++를 사용하여 CSV 파일을 Excel 형식으로 변환하는 샘플 코드입니다.
// 소스 디렉토리 경로.
StringPtr srcDir = new String("SourceDirectory\\");
// 출력 디렉토리 경로.
StringPtr outDir = new String("OutputDirectory\\");
// CSV LoadOptions 개체 만들기
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);
// 입력 엑셀 파일 불러오기
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);
// 출력 CSV 파일 저장
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")), SaveFormat_Xlsx);
무료 라이선스 받기
무료 임시 라이선스를 요청하면 평가 제한 없이 API를 사용해 볼 수 있습니다.
결론
이 기사에서는 C++를 사용하여 Excel 파일을 CSV 형식으로 변환하고 CSV 파일을 Excel(XLS/XLSX) 형식으로 변환하는 방법을 배웠습니다. Aspose.Cells for C++는 Excel 파일 작업을 위한 많은 추가 기능을 제공하는 방대한 API입니다. 공식 문서를 통해 API를 자세히 살펴볼 수 있습니다. 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의하십시오.