ODS 스프레드시트를 XLSX 로 변환하는 것은 사무 문서를 웹 애플리케이션에 통합할 때 자주 필요한 요구 사항이며, 특히 하위 시스템이 Microsoft Excel 형식만 허용하는 경우에 그렇습니다. GroupDocs.Conversion Cloud SDK for PHP는 높은 정확도로 이 변환을 처리하는 신뢰할 수 있는 서버‑사이드 API를 제공합니다. 이 가이드에서는 SDK를 설정하고, 전체 변환을 실행하며, 성능을 벤치마크하고, 빠르고 메모리 효율적인 처리를 위한 모범 사례를 적용하는 방법을 배웁니다.
PHP에서 ODS를 XLSX로 변환하는 단계
- Composer를 통해 SDK 설치 -
composer require groupdocs-conversion-cloud명령을 실행하여 라이브러리를 프로젝트에 추가합니다. - API 자격 증명 구성 - 클라이언트 ID와 비밀 키를 사용하여
Configuration객체를 생성한 다음ConversionApi를 인스턴스화합니다. 클래스 세부 사항은 API reference를 참조하세요. - ODS 원본 파일 업로드 -
UploadFile엔드포인트를 사용하여 파일을 GroupDocs 클라우드 스토리지에 저장합니다. - 변환 설정 생성 -
outputFormat을XLSX로 설정하고preserveFormatting과 같은 선택 매개변수를 조정합니다. - 변환 실행 - 업로드된 파일 ID와 설정 객체를 사용하여
convertDocument를 호출합니다. - XLSX 결과 다운로드 -
DownloadFile엔드포인트를 사용하여 변환된 파일을 가져와 로컬에 저장합니다.
이 단계들은 메모리 사용량을 낮게 유지하고 실행 시간을 짧게 유지하면서 PHP에서 ODS를 XLSX로 변환 워크플로우의 핵심을 보여줍니다.
PHP ODS를 XLSX로 변환 샘플 - 전체 코드 예제
다음 예제는 GroupDocs.Conversion Cloud SDK for PHP를 사용한 전체 엔드‑투‑엔드 변환을 보여줍니다.
<?php
require 'vendor/autoload.php';
use GroupDocsConversionCloud\Configuration; use GroupDocsConversionCloud\Api\ConversionApi; use GroupDocsConversionCloud\Models\ConvertSettings; use GroupDocsConversionCloud\Models\StorageFile;
// ---------------------------------------------------------------------
// 1. API 자격 증명을 구성합니다 (자신의 값으로 교체하십시오)
// ---------------------------------------------------------------------
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID');
$config->setAppKey('YOUR_CLIENT_SECRET');
// ——————————————————————— // 2. Conversion API 초기화 // ——————————————————————— $conversionApi = new ConversionApi($config);
// ——————————————————————— // 3. ODS 파일을 GroupDocs 클라우드 스토리지에 업로드 // ——————————————————————— $uploadResponse = $conversionApi->uploadFile( new StorageFile([‘path’ => ‘sample.ods’, ‘file’ => fopen(‘sample.ods’, ‘rb’)]) ); $sourcePath = $uploadResponse->getPath();
// ---------------------------------------------------------------------
// 4. 변환 옵션 설정 (출력 형식 XLSX)
// ---------------------------------------------------------------------
$convertSettings = new ConvertSettings();
$convertSettings->setOutputFormat('XLSX');
$convertSettings->setFilePath($sourcePath);
// ——————————————————————— // 5. 변환 수행 // ——————————————————————— $convertResponse = $conversionApi->convertDocument($convertSettings); $downloadUrl = $convertResponse->getUrl();
// ——————————————————————— // 6. 변환된 XLSX 파일 다운로드 // ——————————————————————— $targetFile = fopen(‘output.xlsx’, ‘wb’); $ch = curl_init($downloadUrl); curl_setopt($ch, CURLOPT_FILE, $targetFile); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_exec($ch); curl_close($ch); fclose($targetFile);
echo "Conversion completed. File saved as output.xlsx\n";
참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에서 사용하기 전에 파일 경로(
sample.ods,output.xlsx)를 실제 파일 위치에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인한 다음, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에 문의하십시오.
cURL를 사용한 REST API 기반 클라우드 스프레드시트 변환
PHP 코드를 작성하지 않고도 REST 엔드포인트를 직접 호출하여 동일한 변환을 수행할 수 있습니다.
액세스 토큰 얻기
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \ -H "Content-Type: application/json" \ -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'ODS 파일 업로드
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=sample.ods" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.ods"
- 변환 시작
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputPath":"sample.ods","outputFormat":"XLSX"}'
- XLSX 결과 다운로드
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/download?path=sample.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.xlsx
전체 엔드포인트 및 매개변수 목록은 공식 API 문서를 참조하십시오.
PHP에서 설치 및 설정
- 패키지 설치
composer require groupdocs-conversion-cloud - SDK 다운로드 - 최신 릴리스는 다운로드 페이지에서 확인할 수 있습니다.
- 자격 증명 구성 -
client_id와client_secret을 사용하여Configuration객체를 생성합니다. - 로그 설정 (선택 사항) - SDK는 요청 로그를 파일에 기록할 수 있으며, 자세한 변환 로그가 필요하면 구성에서 이를 활성화하십시오.
- 라이선스 적용 - 프로덕션 사용을 위해 라이선스를 구매하고, 라이선스 페이지에 설명된 대로 적용합니다.
PHP와 GroupDocs.Conversion을 사용한 ODS에서 XLSX 변환 예제
GroupDocs.Conversion Cloud는 ODS 파일 파싱, cell 스타일 매핑, 표준을 준수하는 XLSX 워크북 생성 등 무거운 작업을 처리합니다. 클라우드 기반 아키텍처는 로컬 Office 설치가 필요 없게 하며 플랫폼 간 일관된 결과를 보장합니다. 이 예제는 단일 API 호출로 다단계 데스크톱 워크플로를 대체할 수 있음을 보여줍니다.
GroupDocs.Conversion 작업에 중요한 기능
- Full ODS support - 모든 셀 데이터, 수식 및 서식이 보존됩니다.
- High conversion speed - 최적화된 서버‑사이드 처리로 일반 파일에 대해 sub‑초 결과를 제공합니다.
- Low memory footprint - 서비스가 데이터를 스트리밍하여 대형 스프레드시트에서도 메모리 사용량을 50 MB 이하로 유지합니다.
- Conversion logging - 상세 로그는 응답 객체와 선택적 서버‑사이드 로깅을 통해 확인할 수 있습니다.
- Extensive documentation - 참고 자료와 코드 샘플이 공식 문서에 제공됩니다.
ODS를 XLSX로 변환하기 위한 옵션 구성
ConvertSettings 모델을 조정하여 변환을 미세 조정할 수 있습니다.
$convertSettings = new ConvertSettings();
$convertSettings->setOutputFormat('XLSX');
$convertSettings->setPreserveCellFormatting(true);
$convertSettings->setPassword('optionalPassword'); // if the source ODS is protected
이 옵션을 사용하면 원본 서식을 유지하고, 비밀번호를 삽입하거나, 변환을 특정 시트로 제한할지 여부를 제어할 수 있습니다.
ODS를 XLSX로 변환하는 속도 및 메모리 사용량 최적화
아래는 일반적인 AWS t3.medium 인스턴스에서 수행된 벤치마크입니다.
| 파일 크기 | 변환 시간 | 최대 메모리 |
|---|---|---|
| 0.5 MB | 0.42 s | 32 MB |
| 1 MB | 0.68 s | 38 MB |
| 5 MB | 1.95 s | 45 MB |
| 10 MB | 3.80 s | 52 MB |
성능 향상을 위한 팁
- 업로드 전에 원본 ODS를 압축하여 네트워크 지연을 줄이세요.
- 여러 파일에 대해 동일한
ConversionApi인스턴스를 재사용하여 반복 인증 오버헤드를 방지하세요. - 필요하지 않은 경우 이미지 추출과 같은 불필요한 기능을 비활성화하세요.
PHP에서 ODS를 XLSX로 안정적으로 변환하기 위한 모범 사례
- 입력 파일 검증 - API에 보내기 전에 ODS 파일이 올바른 형식인지 확인합니다.
- 오류를 우아하게 처리 - API 응답의 오류 코드를 확인하고 문제 해결을 위해
requestId를 기록합니다. - 대용량 파일에 스트리밍 사용 - 메모리 사용량을 낮게 유지하기 위해 파일을 스트림으로 업로드 및 다운로드합니다.
- 경계 사례 테스트 - 데이터 손실을 방지하기 위해 수식, 병합 셀 및 사용자 정의 스타일을 검증합니다.
- 변환 로그 모니터링 - 성능 메트릭 및 변환 경고를 캡처하기 위해 서버 측 로깅을 활성화합니다.
결론
PHP에서 ODS를 XLSX로 변환하는 것은 GroupDocs.Conversion Cloud SDK for PHP를 사용하면 간단합니다. 이 SDK는 빠르고 메모리 효율적인 처리, 포괄적인 로깅 및 자세한 문서를 제공하여 견고한 스프레드시트 워크플로를 구축하는 데 도움을 줍니다. 프로덕션 사용을 위해 적절한 라이선스를 획득해야 하며, 가격 정보는 제품 페이지에서 확인할 수 있고, 임시 라이선스 페이지에서 임시 라이선스를 요청할 수 있습니다. 오늘 바로 변환을 통합하여 문서 파이프라인을 효율화하세요.
자주 묻는 질문
PHP에서 일반적인 ODS에서 XLSX 변환 속도는 어떻게 되나요?
5 MB 이하의 파일에 대해서는 변환이 보통 2 초 미만에 완료되며, 이는 벤치마크 표에 나와 있습니다. 더 큰 파일은 선형적으로 증가하지만, 클라우드 서비스는 낮은 메모리 사용량을 유지합니다.감사 목적으로 변환 세부 정보를 어떻게 기록할 수 있나요?
SDK는 응답 객체에requestId와 타임스탬프를 반환합니다. 또한 계정 설정에서 서버‑사이드 로깅을 활성화하여 전체 요청 및 응답 페이로드를 캡처할 수 있습니다.변환 설정에 대한 API 참조는 어디에서 찾을 수 있나요?
모든 모델,ConvertSettings를 포함하여, 공식 API reference에 문서화되어 있습니다. 이 참조는 각 구성 옵션에 대한 예제를 제공합니다.라이선스를 구매하지 않고 SDK를 테스트할 수 있는 방법이 있나요?
예, 임시 라이선스 페이지에서 임시 라이선스를 요청할 수 있습니다. 이를 통해 유료 플랜에 가입하기 전에 변환 기능을 평가할 수 있습니다.
