無需本機 Excel 安裝。無需維護轉換伺服器。將 XLSX → PDF、Excel → CSV/JSON/圖片/HTML 轉換為簡單的 REST 呼叫——並在大約三分鐘內讓您的第一個 “雲端試算表轉換器” 運行起來。
“Convert that spreadsheet to a different format” 是日常開發中最常見的需求之一:
- 財務與法務團隊希望獲得 唯讀、抗篡改的 PDF 報告,而不是任何人都能編輯的
.xlsx; - 數據團隊需要將表格資料提取到下游系統,格式為 CSV / JSON;
- 網頁與行動應用程式希望將工作表——甚至 圖表——直接渲染為 PNG / SVG;
- 入口網站需要乾淨的 HTML / HTML-Table 片段以嵌入;
- 有人需要將一堆
.xls / .xlsx / .csv / .ods檔案正規化為單一格式。
傳統的解決方案 — 本機安裝的 Excel 搭配巨集,或是自行伺服器上的大型 COM 元件 — 在擴展時會很痛苦,且難以跨平台維護。Aspose.Cells Cloud 用純 REST API 取代了這一切:上傳檔案,獲得新格式的檔案返回。
本文介紹了 Aspose.Cells Cloud 微服務中核心 ConversionController 所公開的三個轉換 API(來源:src/Aspose.Cells.Cloud.MicroService/Controllers/ConversionController.cs),並提供了可執行的 cURL、C#(.NET)、Python 和 Java 範例。
1. 轉換功能可以做什麼?
ConversionController 是專門用於 格式轉換/導出 的控制器。它將引擎層級的高保真轉換封裝為三組 HTTP API:
| # | 情境 | Typical endpoint | 功能說明 |
|---|---|---|---|
| 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 |
轉換後的檔案直接寫回雲端儲存 — 適合自動化管道 |
實作說明:來源路由使用前綴
v{version}/cells,API 版本為4.0,因此實際呼叫會是https://api.aspose.cloud/v4.0/cells/...。
轉換粒度遠超 “整個檔案”
除了轉換整個工作簿之外,控制器還可以匯出 單一元素:
- 特定的 工作表 → PDF / image / CSV / JSON / HTML
- 特定的儲存格範圍(例如
A1:C12) → PDF / image / CSV / JSON / HTML - 特定的表格 → PDF / image / 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 各種轉換,以及 整個 spreadsheet → PDF / image / web-data 輸出系列——全部位於單一 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:
在請求主體中上傳本機檔案,伺服器會進行轉換並將新檔案串流回傳。檔案不會被保留在雲端儲存,也不會留下上傳的副本 — 非常適合「只幫我轉換這個」的情況。
① 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(cloud-storage flavour):
# 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 請求主體傳遞細緻的儲存選項,並可透過查詢參數控制 輸出檔案名稱、輸出儲存位置、自訂字型、區域/語系、密碼 等等 — 更多資訊請參閱下方的 工程細節。
7. 更多現成的「線上轉換」端點
除了上述工作簿層級的轉換外,控制器還提供了一整套專用的 local-file → specific-target 端點(與情境 1 相同的請求正文上傳),這些端點更為細緻且在頻寬使用上更省成本:
| 目標 | 端點 (PUT, 前綴 /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 封裝,因此請直接使用純 REST 呼叫,就像上面的 cURL 所示。
8. 工程細節與錯誤處理
值得了解的轉換選項(查詢參數)
password— 開啟受密碼保護的工作簿;fontsLocation/ custom-font support — 在渲染 PDF/圖像時保持字形正確;- 自動調整列/欄,並決定是否列印列/欄標題 (
printHeadings)、區域/頁面設定 (region) 等; - 輸出端:
outPath/outStorageName決定結果在雲端儲存中的位置。
錯誤代碼(控制器文件的合約)
| 狀態 | 含義 | 常見原因 |
|---|---|---|
| 400 | 錯誤的請求 | 無效的 URL / 參數,或不支援的 format |
| 401 | 未授權 | 驗證失敗或未提供有效的憑證 |
| 404 | 找不到 | 雲端儲存中無法存取來源檔案 |
| 500 | 伺服器錯誤 | 服務在取得轉換資料時發生異常 |
驗證
所有 SDK 都會自動使用 OAuth 2.0 client_credentials 和 JWT 進行驗證;在使用原始 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 轉換器」。
覺得這很有用嗎?給它加星標、加入書籤或分享——並在評論中告訴我們您自己的試算表轉換使用案例。