Немає локальної установки 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: завантажте файл, отримайте файл у новому форматі назад.
У цьому дописі розглядаються три API конвертації, які надає основний ConversionController у мікросервісі 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 |
Конвертований файл записується безпосередньо назад у хмарне сховище — ідеально підходить для автоматизованих конвеєрів |
Примітка щодо реалізації: маршрути джерела використовують префікс
v{version}/cellsз версією API4.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 МБ робочий зошит лише для того, щоб отримати один графік — конвертуйте лише те, що потрібно, і заощаджуйте пропускну здатність та обчислення.
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 surface.
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)
This is PUT /v4.0/cells/convert/spreadsheet — the flagship “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"))
Ви також можете деталізувати окремий елемент — наприклад, відобразити «третій графік на Sheet1» у форматі PNG (версія cloud-storage):
# 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. Більше готових “online convert” кінцевих точок
Окрім конвертацій на рівні робочої книги, контролер надає повний набір спеціалізованих local-file → specific-target кінцевих точок (той самий запит‑тіло завантаження, як у Сценарії 1), які більш детальні та дешевші за пропускну здатність:
| Мета | Кінцева точка (PUT, префікс /v4.0/cells/convert/) |
|---|---|
| Книга → PDF / JSON / CSV | spreadsheet/pdf, spreadsheet/json, spreadsheet/csv |
| Лист → PDF / JSON / CSV / HTML / HTML-таблиця | 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/ підтримка користувацьких шрифтів — зберігати правильність гліфів під час рендерингу 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» за кілька хвилин.
Знайшли це корисним? Поставте зірочку, додайте в закладки або поділіться — і розкажіть нам про свої власні випадки використання конвертації електронних таблиць у коментарях.