Không cần cài đặt Excel cục bộ. Không cần duy trì máy chủ chuyển đổi. Chuyển XLSX → PDF, Excel → CSV/JSON/hình ảnh/HTML thành các cuộc gọi REST đơn giản — và có “bộ chuyển đổi bảng tính đám mây” đầu tiên của bạn chạy trong khoảng ba phút.
“Chuyển đổi bảng tính đó sang định dạng khác” là một trong những yêu cầu phổ biến nhất trong phát triển hàng ngày:
- Các đội tài chính và pháp lý muốn một báo cáo PDF chỉ đọc, chống giả mạo thay vì một
.xlsxmà bất kỳ ai cũng có thể chỉnh sửa; - Các đội dữ liệu cần kéo dữ liệu dạng bảng vào các hệ thống hạ nguồn dưới dạng CSV / JSON;
- Các ứng dụng web và di động muốn các bảng tính — và thậm chí biểu đồ — được render trực tiếp thành PNG / SVG;
- Các cổng thông tin muốn các đoạn HTML / HTML-Table sạch sẽ để nhúng;
- Ai đó cần chuẩn hoá một đống file
.xls / .xlsx / .csv / .odsthành một định dạng duy nhất.
Các giải pháp truyền thống — cài đặt Excel cục bộ có macro, hoặc một thành phần COM nặng trên máy chủ của bạn — rất khó mở rộng và khó duy trì đa nền tảng. Aspose.Cells Cloud thay thế tất cả những điều đó bằng một REST API thuần: tải lên một tệp, nhận lại tệp ở định dạng mới.
Bài viết này hướng dẫn ba API chuyển đổi được cung cấp bởi ConversionController lõi trong microservice Aspose.Cells Cloud (nguồn: src/Aspose.Cells.Cloud.MicroService/Controllers/ConversionController.cs), kèm theo các ví dụ có thể chạy được bằng cURL, C# (.NET), Python và Java.
1. Tính năng Chuyển đổi có thể làm gì?
ConversionController là bộ điều khiển dành cho chuyển đổi định dạng / xuất khẩu. Nó bao bọc việc chuyển đổi cấp độ engine, độ trung thực cao thành ba bộ API HTTP:
| # | Kịch bản | Endpoint điển hình | Chức năng |
|---|---|---|---|
| 1 | Tệp đã có trong lưu trữ đám mây → tải xuống định dạng mới | GET /v4.0/cells/{name}?format=pdf |
Chuyển đổi một workbook trực tiếp trong lưu trữ đám mây và truyền luồng kết quả trở lại — các tệp lớn không bao giờ phải di chuyển tới máy của bạn |
| 2 | Tệp cục bộ → chuyển đổi trực tuyến (tính năng nổi bật) | PUT /v4.0/cells/convert/spreadsheet?format=pdf |
Bạn tải lên tệp trong phần thân yêu cầu (multipart); máy chủ chuyển đổi và trả về tệp kết quả trực tiếp |
| 3 | Tệp đám mây → lưu dưới định dạng mới, trở lại lưu trữ đám mây | PUT /v4.0/cells/{name}/saveas?format=pdf |
Tệp đã chuyển đổi được ghi trực tiếp trở lại lưu trữ đám mây — lý tưởng cho các pipeline tự động |
Lưu ý triển khai: các tuyến nguồn sử dụng tiền tố
v{version}/cellsvới phiên bản API4.0, vì vậy các cuộc gọi thực tế trông giống nhưhttps://api.aspose.cloud/v4.0/cells/....
Mức độ chi tiết của việc chuyển đổi vượt xa “toàn bộ tệp”
Ngoài việc chuyển đổi toàn bộ sổ làm việc, bộ điều khiển có thể xuất một phần tử duy nhất:
- Một bảng tính cụ thể → PDF / image / CSV / JSON / HTML
- Một phạm vi ô cụ thể (ví dụ
A1:C12) → PDF / image / CSV / JSON / HTML - Một bảng cụ thể → PDF / image / CSV / JSON / HTML
- Một biểu đồ cụ thể → PNG / JPEG / BMP / GIF / SVG / TIFF / EMF / PDF
Vì vậy bạn sẽ không bao giờ phải chuyển đổi toàn bộ sổ làm việc 50 MB chỉ để lấy một biểu đồ — chỉ chuyển những gì bạn cần và tiết kiệm băng thông và tính toán.
2. Các định dạng nào được hỗ trợ?
Dựa trên registry ExportData được tích hợp sẵn trong controller, ma trận chuyển đổi trông tương đối như sau:
| Type | Formats |
|---|---|
| Nhập và xuất (hai chiều) | XLS, XLSX, XLSB, XLSM, CSV, TSV, ODS, TXT |
| Chỉ xuất | PDF, OTS, XPS, DIF, HTML / MHTML, JSON, PNG, JPEG, BMP, SVG, TIFF, EMF, NUMBERS, FODS, Markdown, DOCX, PPTX, SQL, v.v. |
Tóm lại: spreadsheet-to-spreadsheet các chuyển đổi mọi loại, plus toàn bộ họ của các đầu ra spreadsheet → PDF / image / web-data — tất cả nằm sau một giao diện API duy nhất.
3. Hai điều bạn cần trước khi bắt đầu
- Đăng ký một tài khoản miễn phí trên Aspose Cloud Dashboard và tạo một Ứng dụng để nhận
Client IDvàClient Secret(các SDK sẽ tự động đổi chúng sang JWT — không cần tự xây dựng tiêu đề xác thực). - Cài đặt SDK cho ngôn ngữ bạn chọn:
<!-- .NET -->
<PackageReference Include="Aspense.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>
Không cần SDK? Mọi thứ đều là REST thuần, vì vậy cURL cũng hoạt động tốt như vậy (xem bên dưới).
4. Kịch bản 1: Chuyển đổi tệp Excel cục bộ trực tuyến (tiêu đề Convert API)
Đây là PUT /v4.0/cells/convert/spreadsheet — API “Convert” hàng đầu:
tải lên tệp cục bộ của bạn trong phần thân yêu cầu, máy chủ sẽ chuyển đổi và truyền lại tệp mới. Không có gì được lưu trữ trong đám mây và không có bản sao tải lên nào tồn tại — hoàn hảo cho những lúc “chỉ cần chuyển đổi cái này cho tôi”.
① 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
Thay thế format bằng csv, json, png, xlsx… và bạn sẽ nhận được định dạng đó. Một tham số, một định dạng đầu ra.
② 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");
Cần một công việc batch? Đặt đoạn này vào một vòng lặp qua thư mục và bạn sẽ có “chuyển đổi toàn bộ thư mục 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());
}
}
Bốn ngôn ngữ, một hành động: cung cấp một đường dẫn + tham số định dạng → nhận lại tệp đích. Đó là toàn bộ điểm bán hàng của Convert API — không phụ thuộc vào Excel ở phía người gọi, không cần mẫu, không có thành phần COM.
5. Kịch bản 2: Chuyển đổi tệp được lưu trữ trên đám mây trực tiếp
Khi một tệp đã tồn tại trong Aspose Cloud Storage (hoặc trong kho lưu trữ đối tượng của bạn), bạn không cần phải tải xuống/tải lên các tệp lớn — quá trình chuyển đổi diễn ra trên đám mây, giảm thiểu việc truyền dữ liệu và cải thiện hiệu năng trên các sổ làm việc lớn:
# 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"))
Bạn cũng có thể khai thác sâu vào một phần tử duy nhất — ví dụ, render “biểu đồ thứ 3 trên Sheet1” dưới dạng PNG (phiên bản lưu trữ đám mây):
# 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
Các điểm cuối đám mây chi tiết trong một cái nhìn nhanh:
| Mục tiêu | Điểm cuối | Ví dụ format |
|---|---|---|
| Toàn bộ workbook | GET /v4.0/cells/{name} |
pdf / xlsx / csv / json |
| Worksheet đơn | GET /v4.0/cells/{name}/worksheets/{ws} |
pdf / png / svg |
| Phạm vi đơn | GET /v4.0/cells/{name}/worksheets/{ws}/ranges/{range} |
pdf / csv / json / html / png |
| Bảng đơn | GET /v4.0/cells/{name}/worksheets/{ws}/tables/{table} |
pdf / csv / json / html / png |
| Biểu đồ đơn | GET /v4.0/cells/{name}/worksheets/{ws}/charts/{index} |
pdf / png / jpeg / svg / tiff |
6. Kịch bản 3: SaveAs — ghi kết quả trở lại lưu trữ đám mây
Khi bạn muốn tệp đã chuyển đổi được lưu lại trên lưu trữ đám mây (thay vì tải xuống), sử dụng PUT /v4.0/cells/{name}/saveas. Đây là lựa chọn tự nhiên cho tự động hoá như “xuất báo cáo ngày hôm nay ra PDF để lưu trữ, mỗi ngày”:
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")
Bạn có thể truyền các tùy chọn lưu chi tiết thông qua phần thân yêu cầu SaveOptionsData, và kiểm soát tên tệp đầu ra, lưu trữ đầu ra, phông chữ tùy chỉnh, khu vực/địa phương, mật khẩu, v.v. thông qua các tham số truy vấn — xem thêm chi tiết trong phần Chi tiết kỹ thuật bên dưới.
7. Thêm các điểm cuối “online convert” đã sẵn sàng
Ngoài các chuyển đổi ở mức workbook ở trên, controller cung cấp một bộ đầy đủ các endpoint local-file → specific-target chuyên dụng (tải lên cùng dạng request-body như Scenario 1), chúng chi tiết hơn và tiêu tốn băng thông ít hơn:
| Mục tiêu | Endpoint (PUT, prefix /v4.0/cells/convert/) |
|---|---|
| Sổ làm việc → PDF / JSON / CSV | spreadsheet/pdf, spreadsheet/json, spreadsheet/csv |
| Trang tính → PDF / JSON / CSV / HTML / HTML-Table | worksheet/pdf, worksheet/json, worksheet/csv, worksheet/html, worksheet/html-table |
| Trang tính → hình ảnh | worksheet/image?worksheet=Sheet1&format=png |
| Phạm vi → PDF / CSV / HTML / JSON / hình ảnh | range/pdf, range/csv, range/html, range/json, range/image?worksheet=..&range=A1:C12&format=png |
| Bảng → PDF / CSV / HTML / JSON / hình ảnh | table/pdf, table/csv, table/html, table/json, table/image |
| Biểu đồ → hình ảnh / PDF | chart/image?worksheet=..&chartIndex=0&format=png, chart/pdf |
For example, “export just this range as CSV for the downstream system”:
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
Các endpoint này sử dụng cùng mẫu tải lên trong phần thân như convert/spreadsheet. Trong .NET SDK, các trường hợp chart có các wrapper được kiểu hoá mà ánh xạ tới các route v4.0 này — ConvertChartToImage (convert/chart/image) và ConvertChartToPdf (convert/chart/pdf). Các biến thể worksheet/*, range/* và table/* chưa có wrapper v4.0, vì vậy hãy gọi chúng qua REST thuần như lệnh cURL ở trên.
8. Chi tiết kỹ thuật & xử lý lỗi
Các tùy chọn chuyển đổi đáng biết (tham số truy vấn)
password— mở các workbook được bảo vệ bằng mật khẩu;fontsLocation/ hỗ trợ phông chữ tùy chỉnh — giữ glyph đúng khi render PDF/hình ảnh;- tự động điều chỉnh kích thước hàng/cột, và việc có in tiêu đề hàng/cột (
printHeadings), thiết lập vùng/trang (region), v.v.; - phía đầu ra:
outPath/outStorageNamequyết định nơi kết quả được lưu trong lưu trữ đám mây.
Mã lỗi (hợp đồng mà bộ điều khiển tài liệu)
| Status | Meaning | Typical cause |
|---|---|---|
| 400 | Yêu cầu không hợp lệ | URL / tham số không hợp lệ, hoặc format không được hỗ trợ |
| 401 | Không được ủy quyền | Xác thực thất bại hoặc không có thông tin xác thực hợp lệ được cung cấp |
| 404 | Không tìm thấy | Tệp nguồn không thể truy cập trong lưu trữ đám mây |
| 500 | Lỗi máy chủ | Dịch vụ gặp bất thường khi lấy dữ liệu chuyển đổi |
Xác thực
Tất cả các SDK tự động xác thực bằng OAuth 2.0 client_credentials và một JWT; khi sử dụng raw cURL, hãy gọi /connect/token một lần trước (xem Scenario 1, ① ở trên).
9. Tại sao Aspose.Cells Cloud Convert?
- ✅ Không phụ thuộc cục bộ — không Office/Excel, không COM. Có thể gọi từ bất kỳ ngôn ngữ và bất kỳ nền tảng nào (Linux, containers, serverless);
- ✅ Kết xuất chất lượng cao — được hỗ trợ bởi engine Aspose.Cells, vì vậy công thức, biểu đồ, kiểu dáng và phân trang được render với chất lượng chuyên nghiệp thành PDF/hình ảnh;
- ✅ Được thiết kế cho đám mây — các tệp có thể ở lại trong đám mây trong quá trình chuyển đổi để tránh việc chuyển tải dữ liệu lớn; chuyển đổi hoàn toàn trực tuyến không cần bất kỳ lưu trữ đám mây nào;
- ✅ Granularity linh hoạt — workbook / worksheet / range / table / chart: chuyển đổi chính xác phần bạn cần;
- ✅ Một mẫu cho mọi SDK — các ví dụ cURL, .NET, Python và Java khớp 1:1, vì vậy bạn có thể sao chép nguyên mẫu mà bạn thích.
Bắt đầu ngay: đăng ký trên Aspose Cloud Dashboard, tạo một Application, chèn thông tin xác thực của bạn vào bất kỳ snippet nào ở trên, và chạy nó — bạn sẽ có “bộ chuyển đổi Excel trên đám mây” của riêng mình trong vài phút.
Bạn thấy hữu ích? Hãy đánh dấu sao, lưu lại, hoặc chia sẻ — và cho chúng tôi biết về các trường hợp sử dụng chuyển đổi bảng tính của bạn trong phần bình luận.