> Нет установки Excel на локальном компьютере. Нет сервера для поддержания преобразования. Преобразуйте XLSX → PDF, Excel → CSV/JSON/изображения/HTML в простые REST-вызовы — и запустите свой первый “облачный конвертер таблиц” за три минуты.
“Преобразовать эту таблицу в другой формат” — одно из самых распространенных требований в повседневной разработке:
- Финансовые и юридические команды хотят только для чтения, защищенный от подделок PDF отчет вместо редактируемого .xlsx;
- Команды данных нуждаются в извлечении табличных данных в системы downstream в виде 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. Что может сделать функция преобразования?
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 с версией API 4.0, поэтому живые вызовы выглядят как 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 МБ, чтобы получить одну диаграмму — преобразуйте только то, что вам нужно, и экономьте пропускную способность и вычислительные ресурсы.
—
## 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 и др. |
В кратце: преобразования таблица-в-таблицу любого рода, плюс вся семья выходов таблица → PDF / изображение / веб-данные — все это за одной API-поверхностью.
—
## 3. Две вещи, которые вам нужны перед началом
1. Зарегистрируйте бесплатную учетную запись на Aspose Cloud Dashboard и создайте приложение, чтобы получить Client ID и Client Secret (SDK автоматически обменивает их на JWT — нет необходимости самостоятельно создавать заголовки аутентификации).
2. Установите SDK для вашего предпочтительного языка:
xml
<!-- .NET -->
<PackageReference Include="Aspose.Cells-Cloud" Version="25.x" />
bash
# Python
pip install asposecellscloud
xml
<!-- Java (Maven) — обратите внимание: НЕТ в Maven Central, поэтому требуется репозиторий Aspose ниже -->
<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 онлайн (основной API преобразования)
Это PUT /v4.0/cells/convert/spreadsheet — флагманский “API преобразования”:
загрузите ваш локальный файл в теле запроса, сервер преобразует его и возвращает новый файл. Ничто не сохраняется в облачном хранилище, и никакая копия загрузки не остается — идеально для моментов “просто преобразуйте это для меня”.
### ① cURL
bash
# 1) Сначала получите токен
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
csharp
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", // локальный путь к файлу
format: "pdf"); // целевой: pdf / csv / json / png ...
using Stream result = cellsApi.ConvertSpreadsheet(request); // поток преобразованного файла
using var outFile = File.Create("C:/invoices/Book1.pdf");
result.CopyTo(outFile);
// Еще проще: укажите SDK путь к выходному файлу и позвольте ему записать файл
// cellsApi.ConvertSpreadsheet(request, "C:/invoices/Book1.pdf");
> Нужна пакетная работа? Поместите это в цикл по каталогу, и у вас будет “преобразовать всю папку XLSX → PDF”.
### ③ Python
python
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.requests import ConvertSpreadsheetRequest
import os
instance = CellsApi(
os.getenv('CellsCloudClientId'),
os.getenv('CellsCloudClientSecret'))
# Локальный XLSX -> PDF, результат записан локально
instance.convert_spreadsheet(
ConvertSpreadsheetRequest("Book1.xlsx", "pdf"),
local_outpath="Book1.pdf")
# Другие форматы: просто измените параметр — json / csv / xlsx / png ...
### ④ Java
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"); // локальный путь к файлу
req.setFormat("pdf"); // целевой: pdf / csv / json / png ...
File out = api.convertSpreadsheet(req); // преобразованный результат как файл
out.renameTo(new File("C:/invoices/Book1.pdf"));
System.out.println("Преобразовано: " + out.getAbsolutePath());
}
}
Четыре языка, одно действие: укажите путь + параметр формата → получите целевой файл обратно. Это и есть основная идея API преобразования — нулевая зависимость от Excel на стороне вызывающего, никаких шаблонов, никаких компонентов COM.
—
## 5. Сценарий 2: Преобразование файла, хранящегося в облаке, напрямую
Когда файл уже находится в облачном хранилище Aspose (или вашем объектном хранилище), вам не нужно загружать/скачивать большие файлы — преобразование происходит в облаке, минимизируя передачу данных и улучшая производительность при работе с большими книгами:
bash
# облачный Book1.xlsx -> PDF, загруженный локально
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
python
from asposecellscloud.apis.cells_api import CellsApi
from asposecellscloud.requests import ExportSpreadsheetAsFormatRequest
instance = CellsApi("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")
# Преобразовать облачную книгу сразу в PDF
instance.export_spreadsheet_as_format(
ExportSpreadsheetAsFormatRequest("Book1.xlsx", format="pdf", folder="Reports"))
Вы также можете углубиться в один элемент — например, отобразить “3-ю диаграмму на Sheet1” как PNG (облачный вариант):
bash
# диаграмма -> 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 для архивирования каждый день”:
bash
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 '{}'
python
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"))
# Результат сохраняется непосредственно в облачное хранилище; возвращает CellsCloudResponse(Code=200, Status="OK")
Вы можете передать детализированные параметры сохранения через тело запроса SaveOptionsData и контролировать имя выходного файла, выходное хранилище, пользовательские шрифты, регион/локаль, пароль и т. д. через параметры запроса — больше об этом в разделе Инженерные детали ниже.
—
## 7. Более готовые конечные точки “онлайн-преобразования”
Кроме преобразований на уровне книги, контроллер предоставляет полный набор специализированных локальных файлов → конкретных целей конечных точек (такой же запрос с загрузкой в теле, как в Сценарии 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 для downstream системы”:
bash
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 случаи диаграммы имеют типизированные обертки, которые соответствуют этим маршрутам 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” за считанные минуты.
Считаете это полезным? Поставьте звезду, добавьте в закладки или поделитесь этим — и расскажите нам о своих собственных случаях использования преобразования таблиц в комментариях.
Преобразование таблиц в одну строку: Полное руководство по Aspose.Cells Cloud Convert API (.NET / Python / Java)
Преобразование таблиц в одну строку