C++를 사용하여 Excel을 CSV로 변환하고 CSV를 Excel로 변환

Excel은 정보 공유에 널리 사용되는 형식입니다. 데이터베이스로 가져와야 하는 Excel(XLS 또는 XLSX) 파일에 데이터가 있는 상황에 처할 수 있습니다. 이를 위해서는 Excel 파일을 CSV 형식으로 변환해야 합니다. 반면에 Excel 파일에서 추가로 조작해야 하는 데이터베이스에서 내보낸 CSV 형식의 데이터가 있을 수 있습니다. 이러한 경우 CSV 파일을 Excel 형식으로 변환해야 합니다. 이 기사에서는 C++를 사용하여 프로그래밍 방식으로 이러한 변환을 모두 수행하는 방법을 배웁니다.

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 형식으로 변환하는 단계입니다.

다음은 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 형식으로 변환하려는 경우 다음 단계를 수행할 수 있습니다.

다음은 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 형식으로 변환하는 단계입니다.

다음은 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를 자세히 살펴볼 수 있습니다. 질문이 있는 경우 무료 지원 포럼을 통해 언제든지 문의하십시오.

또한보십시오