로컬 Excel 설치가 필요 없습니다. 유지할 변환 서버도 없습니다. XLSX → PDF, Excel → CSV/JSON/이미지/HTML을 일반 REST 호출로 전환하고 — 약 3분 안에 첫 번째 “클라우드 스프레드시트 변환기"를 실행하세요.
“Convert that spreadsheet to a different format"은 일상적인 개발에서 가장 일반적인 요구 사항 중 하나입니다:
- 재무 및 법무 팀은 누구나 편집할 수 있는
.xlsx대신 읽기 전용, 변조 방지 PDF 보고서를 원합니다; - 데이터 팀은 표 형식 데이터를 CSV / JSON 형태로 하위 시스템에 가져와야 합니다;
- 웹 및 모바일 앱은 워크시트와 차트까지 PNG / SVG 로 바로 렌더링하기를 원합니다;
- 포털은 삽입할 수 있는 깔끔한 HTML / HTML-Table 스니펫을 원합니다;
- 누군가는
.xls / .xlsx / .csv / .ods파일들을 하나의 형식으로 정규화해야 합니다.
구식 답변인 로컬 Excel 설치와 매크로, 혹은 자체 서버에 무거운 COM 구성 요소는 확장하기 어렵고 크로스 플랫폼을 유지하기 힘듭니다. Aspose.Cells Cloud는 순수 REST API로 이를 모두 대체합니다: 파일을 업로드하고, 새로운 형식의 파일을 반환받습니다.
이 게시물에서는 핵심 ConversionController가 노출하는 세 가지 변환 API를 Aspose.Cells Cloud 마이크로서비스에서 살펴보고 (소스: src/Aspose.Cells.Cloud.MicroService/Controllers/ConversionController.cs), cURL, C# (.NET), Python, 및 Java 예제를 실행 가능한 형태로 제공합니다.
1. Convert 기능은 무엇을 할 수 있나요?
ConversionController는 형식 변환 / 내보내기 전용 컨트롤러입니다. 엔진 수준의 고충실도 변환을 세 가지 HTTP API 세트로 래핑합니다.
| # | 시나리오 | 일반 엔드포인트 | 동작 설명 |
|---|---|---|---|
| 1 | 클라우드 스토리지에 이미 있는 파일 → 새로운 형식으로 다운로드 | GET /v4.0/cells/{name}?format=pdf |
워크북을 클라우드 스토리지에서 직접 변환하고 결과를 스트리밍으로 반환합니다 — 대용량 파일이 머신으로 전송될 필요가 없습니다 |
| 2 | 로컬 파일 → 온라인 변환 (핵심 기능) | PUT /v4.0/cells/convert/spreadsheet?format=pdf |
요청 본문(multipart)으로 파일을 업로드하면 서버가 변환하고 결과 파일을 직접 반환합니다 |
| 3 | 클라우드 파일 → 새로운 형식으로 저장, 클라우드 스토리지에 다시 저장 | PUT /v4.0/cells/{name}/saveas?format=pdf |
변환된 파일이 바로 클라우드 스토리지에 저장됩니다 — 자동 파이프라인에 이상적입니다 |
구현 참고: 소스 라우트는 API 버전
4.0과 함께 접두사v{version}/cells를 사용하므로 실제 호출은https://api.aspose.cloud/v4.0/cells/...와 같습니다.
변환 세분성은 “전체 파일"을 훨씬 뛰어넘습니다
전체 워크북을 변환하는 것 외에도, 컨트롤러는 _단일 요소_를 내보낼 수 있습니다:
- 특정 워크시트 → PDF / 이미지 / CSV / JSON / HTML
- 특정 셀 범위 (예:
A1:C12) → PDF / 이미지 / CSV / JSON / HTML - 특정 테이블 → PDF / 이미지 / CSV / JSON / HTML
- 특정 차트 → PNG / JPEG / BMP / GIF / SVG / TIFF / EMF / PDF
전체 50 MB 워크북을 변환해서 하나의 차트만 가져올 필요가 없습니다 — 필요한 부분만 변환하여 대역폭과 컴퓨팅을 절약하세요.
2. 지원되는 형식은 무엇입니까?
컨트롤러에 내장된 ExportData 레지스트리를 기반으로 변환 매트릭스는 대략 다음과 같습니다:
| 유형 | 형식 |
|---|---|
| 가져오기 및 내보내기 (양방향) | XLS, XLSX, XLSB, XLSM, CSV, TSV, ODS, TXT |
| 내보내기 전용 | PDF, OTS, XPS, DIF, HTML / MHTML, JSON, PNG, JPEG, BMP, SVG, TIFF, EMF, NUMBERS, FODS, Markdown, DOCX, PPTX, SQL, etc. |
간단히 말하면: spreadsheet-to-spreadsheet 변환을 모든 종류로 제공하고, plus 스프레드시트 → PDF / 이미지 / 웹 데이터 출력 전체를 하나의 API 인터페이스 뒤에서 제공합니다.
3. 시작하기 전에 필요한 두 가지
- 무료 계정을 Aspose Cloud Dashboard에 등록하고 애플리케이션을 생성하여
Client ID와Client Secret을 얻으세요 (SDK는 이를 자동으로 JWT로 교환합니다 — 인증 헤더를 직접 만들 필요가 없습니다). - 원하는 언어용 SDK를 설치하세요:
<!-- .NET -->
<PackageReference Include="Aspose.Cells-Cloud" Version="25.x" />
# Python
pip install asposecellscloud
<!-- Java (Maven) — note: NOT on Maven Central, so the Aspose repo below is required -->
<repositories>
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.cloud/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells-cloud</artifactId>
<version>26.8</version>
</dependency>
SDK가 필요 없나요? 모든 것이 순수 REST이므로 cURL도 동일하게 작동합니다 (아래 참조).
4. 시나리오 1: 로컬 Excel 파일을 온라인으로 변환 (헤드라인 Convert API)
이것은 PUT /v4.0/cells/convert/spreadsheet — 대표적인 “Convert” API:
요청 본문에 로컬 파일을 업로드하면 서버가 변환하고 새 파일을 스트리밍으로 반환합니다. 클라우드 스토리지에 저장되지 않으며 업로드된 복사본도 남지 않습니다 — “just convert this for me” 순간에 완벽합니다.
① cURL
# 1) First, get a token
curl -X POST "https://api.aspose.cloud/connect/token" \
-d "grant_type=client_credentials" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET"
# 2) XLSX -> PDF
curl -X PUT "https://api.aspose.cloud/v4.0/cells/convert/spreadsheet?format=pdf" \
-H "Authorization: Bearer $TOKEN" \
-F "file=@Book1.xlsx" \
-o Book1.pdf
format을 csv, json, png, xlsx… 로 바꾸면 해당 형식을 얻을 수 있습니다. 하나의 매개변수, 하나의 출력 형식.
② C# / .NET
using Aspose.Cells.Cloud.SDK.Api;
using Aspose.Cells.Cloud.SDK.Request;
var cellsApi = new CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
var request = new ConvertSpreadsheetRequest(
spreadsheet: "C:/invoices/Book1.xlsx", // local file path
format: "pdf"); // target: pdf / csv / json / png ...
using Stream result = cellsApi.ConvertSpreadsheet(request); // converted file stream
using var outFile = File.Create("C:/invoices/Book1.pdf");
result.CopyTo(outFile);
// Even simpler: point the SDK at an output path and let it write the file
// cellsApi.ConvertSpreadsheet(request, "C:/invoices/Book1.pdf");
배치 작업이 필요하신가요? 이 코드를 디렉터리 루프에 넣으면 “전체 폴더를 XLSX → PDF로 변환"할 수 있습니다.
③ Python
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.requests import ConvertSpreadsheetRequest
import os
instance = CellsApi(
os.getenv('CellsCloudClientId'),
os.getenv('CellsCloudClientSecret'))
# Local XLSX -> PDF, result written locally
instance.convert_spreadsheet(
ConvertSpreadsheetRequest("Book1.xlsx", "pdf"),
local_outpath="Book1.pdf")
# Other formats: just change the parameter — json / csv / xlsx / png ...
④ Java
import com.aspose.cloud.cells.api.CellsApi;
import com.aspose.cloud.cells.request.ConvertSpreadsheetRequest;
import java.io.File;
public class ConvertDemo {
public static void main(String[] args) throws Exception {
CellsApi api = new CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
ConvertSpreadsheetRequest req = new ConvertSpreadsheetRequest();
req.setSpreadsheet("C:/invoices/Book1.xlsx"); // local file path
req.setFormat("pdf"); // target: pdf / csv / json / png ...
File out = api.convertSpreadsheet(req); // converted result as a File
out.renameTo(new File("C:/invoices/Book1.pdf"));
System.out.println("Converted: " + out.getAbsolutePath());
}
}
네 가지 언어, 하나의 동작: 경로와 형식 매개변수를 제공하면 → 대상 파일을 반환합니다. 이것이 Convert API의 전체 판매 포인트이며, 호출 측에서 Excel 종속성이 전혀 없고, 템플릿도 없으며, COM 구성 요소도 없습니다.
5. 시나리오 2: 클라우드에 저장된 파일을 직접 변환
파일이 이미 Aspose Cloud Storage(또는 사용자의 객체 스토리지)에 존재하는 경우, 대용량 파일을 다운로드/업로드할 필요가 없습니다 — 변환이 클라우드에서 이루어져 데이터 전송을 최소화하고 큰 워크북의 성능을 향상시킵니다:
# cloud Book1.xlsx -> PDF, downloaded locally
curl -G "https://api.aspose.cloud/v4.0/cells/Book1.xlsx" \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "format=pdf" \
--data-urlencode "folder=Reports" \
-o Book1.pdf
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.requests import ExportSpreadsheetAsFormatRequest
instance = CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
# Convert a cloud-stored workbook straight to PDF
instance.export_spreadsheet_as_format(
ExportSpreadsheetAsFormatRequest("Book1.xlsx", format="pdf", folder="Reports"))
단일 요소로도 드릴다운할 수 있습니다 — 예: “the 3rd chart on Sheet1"를 PNG(클라우드 스토리지 버전)으로 렌더링합니다:
# chart -> PNG
curl -G "https://api.aspose.cloud/v4.0/cells/Book1.xlsx/worksheets/Sheet1/charts/2" \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "format=png" \
-o chart.png
한눈에 보는 세분화된 클라우드 엔드포인트:
| 대상 | 엔드포인트 | 예시 format |
|---|---|---|
| 전체 워크북 | GET /v4.0/cells/{name} |
pdf / xlsx / csv / json |
| 단일 워크시트 | GET /v4.0/cells/{name}/worksheets/{ws} |
pdf / png / svg |
| 단일 범위 | GET /v4.0/cells/{name}/worksheets/{ws}/ranges/{range} |
pdf / csv / json / html / png |
| 단일 테이블 | GET /v4.0/cells/{name}/worksheets/{ws}/tables/{table} |
pdf / csv / json / html / png |
| 단일 차트 | GET /v4.0/cells/{name}/worksheets/{ws}/charts/{index} |
pdf / png / jpeg / svg / tiff |
6. 시나리오 3: SaveAs — 결과를 클라우드 스토리지에 다시 저장
변환된 파일을 클라우드 스토리지에 다시 저장하고 싶을 때(다운로드 대신), PUT /v4.0/cells/{name}/saveas를 사용하십시오. 이는 매일 “오늘의 보고서를 PDF로 내보내 아카이브에 저장"과 같은 자동화에 자연스럽게 맞습니다:
curl -X PUT "https://api.aspose.cloud/v4.0/cells/Book1.xlsx/saveas?format=pdf" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.requests import SaveSpreadsheetAsRequest
instance = CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
instance.save_spreadsheet_as(
SaveSpreadsheetAsRequest("Book1.xlsx", format="pdf", folder="Reports"))
# Result is saved directly in cloud storage; returns CellsCloudResponse(Code=200, Status="OK")
세밀한 저장 옵션을 SaveOptionsData 요청 본문을 통해 전달하고, 쿼리 매개변수를 사용하여 출력 파일 이름, 출력 저장소, 사용자 정의 글꼴, 지역/로케일, 비밀번호 등을 제어할 수 있습니다 — 아래 Engineering details 에서 자세히 확인하세요.
7. 더 많은 준비된 “online convert” 엔드포인트
위의 워크북 수준 변환 외에도, 컨트롤러는 전용 local-file → specific-target 엔드포인트 전체 세트를 노출합니다 (시나리오 1과 동일한 요청 본문 업로드), 이는 더 세분화되고 대역폭 비용이 적습니다:
| Goal | Endpoint (PUT, prefix /v4.0/cells/convert/) |
|---|---|
| 통합 문서 → PDF / JSON / CSV | spreadsheet/pdf, spreadsheet/json, spreadsheet/csv |
| 워크시트 → PDF / JSON / CSV / HTML / HTML-Table | worksheet/pdf, worksheet/json, worksheet/csv, worksheet/html, worksheet/html-table |
| 워크시트 → 이미지 | worksheet/image?worksheet=Sheet1&format=png |
| 범위 → PDF / CSV / HTML / JSON / 이미지 | range/pdf, range/csv, range/html, range/json, range/image?worksheet=..&range=A1:C12&format=png |
| 테이블 → PDF / CSV / HTML / JSON / 이미지 | table/pdf, table/csv, table/html, table/json, table/image |
| 차트 → 이미지 / PDF | chart/image?worksheet=..&chartIndex=0&format=png, chart/pdf |
예를 들어, “다운스트림 시스템을 위해 이 범위만 CSV로 내보내기”:
curl -X PUT "https://api.aspose.cloud/v4.0/cells/convert/range/csv" \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "worksheet=Sheet1" \
--data-urlencode "range=A1:C100" \
-F "file=@data.xlsx" \
-o data.csv
이러한 엔드포인트는 convert/spreadsheet와 동일한 본문 업로드 패턴을 사용합니다. .NET SDK에서는 chart 사례에 대해 이러한 v4.0 라우트에 매핑되는 타입이 지정된 래퍼가 있습니다 — ConvertChartToImage (convert/chart/image) 및 ConvertChartToPdf (convert/chart/pdf). worksheet/*, range/* 및 table/* 변형은 아직 v4.0 래퍼가 없으므로, 위의 cURL과 정확히 동일하게 일반 REST로 호출하십시오.
8. 엔지니어링 세부 사항 및 오류 처리
알아두면 좋은 변환 옵션 (쿼리 매개변수)
password— 비밀번호로 보호된 워크북을 엽니다;fontsLocation/ custom-font 지원 — PDF/이미지를 렌더링할 때 글리프가 올바르게 표시되도록 유지합니다;- 행/열 자동 맞춤 및 행/열 머리글을 인쇄할지 여부 (
printHeadings), 영역/페이지 설정 (region) 등; - 출력 위치:
outPath/outStorageName가 결과가 클라우드 스토리지에 저장되는 위치를 결정합니다.
오류 코드 (컨트롤러가 문서화하는 계약)
| 상태 | 의미 | 일반적인 원인 |
|---|---|---|
| 400 | 잘못된 요청 | 잘못된 URL / 매개변수이거나 지원되지 않는 format |
| 401 | 인증되지 않음 | 인증에 실패했거나 유효한 자격 증명이 제공되지 않음 |
| 404 | 찾을 수 없음 | 소스 파일에 클라우드 저장소에서 접근할 수 없음 |
| 500 | 서버 오류 | 변환 데이터를 가져오는 동안 서비스에 이상이 발생함 |
인증
모든 SDK는 OAuth 2.0 client_credentials 및 JWT를 사용하여 자동으로 인증합니다; raw cURL을 사용할 때는 먼저 /connect/token을 한 번 호출하십시오 (위 시나리오 1, ① 참조).
9. 왜 Aspose.Cells Cloud Convert?
- ✅ 로컬 종속성 없음 — Office/Excel 없이, COM 없이. 모든 언어와 모든 플랫폼(Linux, 컨테이너, 서버리스)에서 호출 가능;
- ✅ 고품질 렌더링 — Aspose.Cells 엔진으로 구동되며, 수식, 차트, 스타일 및 페이지 매김이 PDF/이미지로 전문 품질에 렌더링됩니다;
- ✅ 클라우드 네이티브 — 변환 중 파일을 클라우드에 그대로 두어 대용량 페이로드 전송을 피할 수 있습니다; 순수 온라인 변환은 클라우드 스토리지를 전혀 필요로 하지 않습니다;
- ✅ 유연한 세분화 — 워크북 / 워크시트 / 범위 / 테이블 / 차트: 필요한 부분만 정확히 변환합니다;
- ✅ SDK 전반에 걸친 일관된 형태 — cURL, .NET, Python 및 Java 예제가 1:1 매핑되므로 원하는 패턴을 그대로 복사해서 사용할 수 있습니다.
지금 시작하세요: Aspose Cloud Dashboard에서 등록하고, 애플리케이션을 만들고, 위의 스니펫 중 하나에 자격 증명을 넣은 뒤 실행하면 — 몇 분 안에 자체 “클라우드 Excel 변환기"를 사용할 수 있습니다.
이 내용이 도움이 되었나요? 별표를 달거나, 북마크하거나, 공유하고 — 댓글에 여러분만의 스프레드시트 변환 사용 사례를 알려 주세요.