> Sin instalación local de Excel. Sin servidor de conversión que mantener. Convierte XLSX → PDF, Excel → CSV/JSON/imágenes/HTML en simples llamadas REST — y tendrás tu primer “convertidor de hojas de cálculo en la nube” funcionando en unos tres minutos.
“Convierte esa hoja de cálculo a un formato diferente” es uno de los requisitos más comunes en el desarrollo diario:
- Los equipos de finanzas y legales quieren un informe PDF de solo lectura y resistente a manipulaciones en lugar de un .xlsx que cualquiera puede editar;
- Los equipos de datos necesitan extraer datos tabulares a sistemas posteriores como CSV / JSON;
- Las aplicaciones web y móviles quieren hojas de cálculo — e incluso gráficos — renderizados directamente a PNG / SVG;
- Los portales quieren fragmentos limpios de HTML / HTML-Table para incrustar;
- Alguien necesita normalizar un montón de archivos .xls / .xlsx / .csv / .ods en un solo formato.
Las respuestas tradicionales — una instalación local de Excel con macros, o un componente COM pesado en tu propio servidor — son difíciles de escalar y complicadas de mantener en múltiples plataformas. Aspose.Cells Cloud reemplaza todo eso con una pura API REST: sube un archivo, obtén un archivo de nuevo formato.
Esta publicación recorre las tres APIs de conversión expuestas por el ConversionController central en el microservicio Aspose.Cells Cloud (fuente: src/Aspose.Cells.Cloud.MicroService/Controllers/ConversionController.cs), con ejemplos ejecutables en cURL, C# (.NET), Python y Java.
—
## 1. ¿Qué puede hacer la función Convertir?
ConversionController es el controlador dedicado a la conversión / exportación de formatos. Envuelve la conversión de alta fidelidad a nivel de motor en tres conjuntos de APIs HTTP:
| # | Escenario | Punto final típico | Qué hace |
| — | ———————————————————— | ———————————————— | —————————————————————————————————————————- |
| 1 | Archivo ya en almacenamiento en la nube → descarga un nuevo formato | GET /v4.0/cells/{name}?format=pdf | Convierte un libro de trabajo directamente en el almacenamiento en la nube y transmite el resultado de vuelta — los archivos grandes nunca tienen que viajar a tu máquina |
| 2 | Archivo local → conversión en línea (característica principal) | PUT /v4.0/cells/convert/spreadsheet?format=pdf | Subes el archivo en el cuerpo de la solicitud (multipart); el servidor lo convierte y devuelve el archivo resultante directamente |
| 3 | Archivo en la nube → guardar como un nuevo formato, de vuelta al almacenamiento en la nube | PUT /v4.0/cells/{name}/saveas?format=pdf | El archivo convertido se escribe directamente de nuevo en el almacenamiento en la nube — ideal para tuberías automatizadas |
> Nota de implementación: las rutas de origen utilizan el prefijo v{version}/cells con la versión de API 4.0, por lo que las llamadas en vivo se ven como https://api.aspose.cloud/v4.0/cells/....
### La granularidad de la conversión va mucho más allá de “todo el archivo”
Además de convertir un libro de trabajo completo, el controlador puede exportar un solo elemento:
- Una hoja de cálculo específica → PDF / imagen / CSV / JSON / HTML
- Un rango de celdas específico (por ejemplo, A1:C12) → PDF / imagen / CSV / JSON / HTML
- Una tabla específica → PDF / imagen / CSV / JSON / HTML
- Un gráfico específico → PNG / JPEG / BMP / GIF / SVG / TIFF / EMF / PDF
Así que nunca tienes que convertir un libro de trabajo de 50 MB solo para obtener un gráfico — convierte solo lo que necesitas y ahorra ancho de banda y computación.
—
## 2. ¿Qué formatos son compatibles?
Basado en el registro ExportData incorporado en el controlador, la matriz de conversión se ve aproximadamente así:
| Tipo | Formatos |
| —————————————– | ———————————————————————————————————————- |
| Importar y exportar (bidireccional) | XLS, XLSX, XLSB, XLSM, CSV, TSV, ODS, TXT |
| Solo exportar | PDF, OTS, XPS, DIF, HTML / MHTML, JSON, PNG, JPEG, BMP, SVG, TIFF, EMF, NUMBERS, FODS, Markdown, DOCX, PPTX, SQL, etc. |
En resumen: conversiones de hoja de cálculo a hoja de cálculo de todo tipo, más toda la familia de salidas de hoja de cálculo → PDF / imagen / datos web — todo detrás de una superficie de API.
—
## 3. Dos cosas que necesitas antes de comenzar
1. Regístrate para obtener una cuenta gratuita en el Tablero de Aspose Cloud y crea una Aplicación para obtener un Client ID y Client Secret (los SDK intercambian esto por un JWT automáticamente — no es necesario construir encabezados de autenticación tú mismo).
2. Instala el SDK para tu lenguaje de elección:
xml
<!-- .NET -->
<PackageReference Include="Aspose.Cells-Cloud" Version="25.x" />
bash
# Python
pip install asposecellscloud
xml
<!-- Java (Maven) — nota: NO en Maven Central, por lo que se requiere el repositorio de Aspose a continuación -->
<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>
> ¿No se requiere SDK? Todo es pura REST, así que cURL funciona igual de bien (ver abajo).
—
## 4. Escenario 1: Convierte un archivo de Excel local en línea (la API Convertir principal)
Esto es PUT /v4.0/cells/convert/spreadsheet — la API “Convertir” insignia:
sube tu archivo local en el cuerpo de la solicitud, el servidor lo convierte y transmite el nuevo archivo de vuelta. Nada se persiste en el almacenamiento en la nube y no queda una copia de carga — perfecto para momentos de “solo conviértelo por mí”.
### ① cURL
bash
# 1) Primero, obtén un 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
Cambia format por csv, json, png, xlsx… y obtendrás ese formato. Un parámetro, un formato de salida.
### ② 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", // ruta local del archivo
format: "pdf"); // objetivo: pdf / csv / json / png ...
using Stream result = cellsApi.ConvertSpreadsheet(request); // flujo del archivo convertido
using var outFile = File.Create("C:/invoices/Book1.pdf");
result.CopyTo(outFile);
// Aún más simple: apunta el SDK a una ruta de salida y deja que escriba el archivo
// cellsApi.ConvertSpreadsheet(request, "C:/invoices/Book1.pdf");
> ¿Necesitas un trabajo por lotes? Coloca esto en un bucle sobre un directorio y tendrás “convertir toda la carpeta 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 local -> PDF, resultado escrito localmente
instance.convert_spreadsheet(
ConvertSpreadsheetRequest("Book1.xlsx", "pdf"),
local_outpath="Book1.pdf")
# Otros formatos: solo cambia el parámetro — 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"); // ruta local del archivo
req.setFormat("pdf"); // objetivo: pdf / csv / json / png ...
File out = api.convertSpreadsheet(req); // resultado convertido como un archivo
out.renameTo(new File("C:/invoices/Book1.pdf"));
System.out.println("Convertido: " + out.getAbsolutePath());
}
}
Cuatro lenguajes, una acción: da una ruta + un parámetro de formato → obtén el archivo objetivo de vuelta. Ese es el principal atractivo de la API Convertir — cero dependencia de Excel en el lado del llamador, sin plantillas, sin componentes COM.
—
## 5. Escenario 2: Convierte un archivo almacenado en la nube directamente
Cuando un archivo ya vive en el Almacenamiento en la Nube de Aspose (o tu almacenamiento de objetos), no necesitas descargar/subir archivos grandes — la conversión ocurre en la nube, minimizando la transferencia de datos y mejorando el rendimiento en libros de trabajo grandes:
bash
# cloud Book1.xlsx -> PDF, descargado localmente
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")
# Convierte un libro de trabajo almacenado en la nube directamente a PDF
instance.export_spreadsheet_as_format(
ExportSpreadsheetAsFormatRequest("Book1.xlsx", format="pdf", folder="Reports"))
También puedes profundizar en un solo elemento — por ejemplo, renderizar “el 3er gráfico en Sheet1” como PNG (versión de almacenamiento en la nube):
bash
# gráfico -> 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
Puntos finales granulares en la nube a simple vista:
| Objetivo | Punto final | Ejemplo format |
| —————- | ——————————————————- | —————————– |
| Todo el libro | GET /v4.0/cells/{name} | pdf / xlsx / csv / json |
| Hoja de cálculo | GET /v4.0/cells/{name}/worksheets/{ws} | pdf / png / svg |
| Rango único | GET /v4.0/cells/{name}/worksheets/{ws}/ranges/{range} | pdf / csv / json / html / png |
| Tabla única | GET /v4.0/cells/{name}/worksheets/{ws}/tables/{table} | pdf / csv / json / html / png |
| Gráfico único | GET /v4.0/cells/{name}/worksheets/{ws}/charts/{index} | pdf / png / jpeg / svg / tiff |
—
## 6. Escenario 3: SaveAs — escribe el resultado de nuevo en el almacenamiento en la nube
Cuando deseas que el archivo convertido se persista de nuevo en el almacenamiento en la nube (en lugar de ser descargado), usa PUT /v4.0/cells/{name}/saveas. Es un ajuste natural para la automatización como “exportar el informe de hoy a PDF para archivo, todos los días”:
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"))
# El resultado se guarda directamente en el almacenamiento en la nube; devuelve CellsCloudResponse(Code=200, Status="OK")
Puedes pasar opciones de guardado finas a través del cuerpo de la solicitud SaveOptionsData, y controlar el nombre del archivo de salida, almacenamiento de salida, fuentes personalizadas, región/locale, contraseña, etc. a través de parámetros de consulta — más sobre eso bajo Detalles de ingeniería a continuación.
—
## 7. Más puntos finales de “conversión en línea” listos para usar
Además de las conversiones a nivel de libro de trabajo anteriores, el controlador expone un conjunto completo de puntos finales dedicados archivo local → objetivo específico (mismo patrón de carga en el cuerpo que el Escenario 1), que son más granulares y más económicos en ancho de banda:
| Objetivo | Punto final (PUT, prefijo /v4.0/cells/convert/) |
| ————————————————– | ——————————————————————————————————– |
| Libro de trabajo → PDF / JSON / CSV | spreadsheet/pdf, spreadsheet/json, spreadsheet/csv |
| Hoja de cálculo → PDF / JSON / CSV / HTML / HTML-Table | worksheet/pdf, worksheet/json, worksheet/csv, worksheet/html, worksheet/html-table |
| Hoja de cálculo → imagen | worksheet/image?worksheet=Sheet1&format=png |
| Rango → PDF / CSV / HTML / JSON / imagen | range/pdf, range/csv, range/html, range/json, range/image?worksheet=..&range=A1:C12&format=png |
| Tabla → PDF / CSV / HTML / JSON / imagen | table/pdf, table/csv, table/html, table/json, table/image |
| Gráfico → imagen / PDF | chart/image?worksheet=..&chartIndex=0&format=png, chart/pdf |
Por ejemplo, “exporta solo este rango como CSV para el sistema posterior”:
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
Estos puntos finales utilizan el mismo patrón de carga en el cuerpo que convert/spreadsheet. En el SDK de .NET, los casos de gráfico tienen envolturas tipadas que se mapean a estas rutas v4.0 — ConvertChartToImage (convert/chart/image) y ConvertChartToPdf (convert/chart/pdf). Las variantes worksheet/*, range/* y table/* aún no tienen envoltura v4.0, así que llámalas a través de REST puro exactamente como lo hace el cURL anterior.
—
## 8. Detalles de ingeniería y manejo de errores
### Opciones de conversión que vale la pena conocer (parámetros de consulta)
- password — abre libros de trabajo protegidos por contraseña;
- fontsLocation / soporte de fuentes personalizadas — mantiene los glifos correctos al renderizar PDF/imágenes;
- ajuste automático de filas/columnas, y si imprimir encabezados de fila/columna (printHeadings), configuración de región/página (region), etc.;
- lado de salida: outPath / outStorageName deciden dónde aterriza el resultado en el almacenamiento en la nube.
### Códigos de error (el contrato que documenta el controlador)
| Estado | Significado | Causa típica |
| ——- | ———— | ———————————————————– |
| 400 | Solicitud incorrecta | URL / parámetros inválidos, o un format no soportado |
| 401 | No autorizado | La autenticación falló o no se proporcionaron credenciales válidas |
| 404 | No encontrado | El archivo fuente no es accesible en el almacenamiento en la nube |
| 500 | Error del servidor | El servicio encontró una anomalía al obtener datos de conversión |
### Autenticación
Todos los SDKs se autentican automáticamente con OAuth 2.0 client_credentials y un JWT; al usar cURL en bruto, llama a /connect/token una vez primero (ver Escenario 1, ① arriba).
—
## 9. ¿Por qué Aspose.Cells Cloud Convert?
- ✅ Sin dependencias locales — sin Office/Excel, sin COM. Llamable desde cualquier lenguaje y cualquier plataforma (Linux, contenedores, sin servidor);
- ✅ Renderizado de alta fidelidad — impulsado por el motor Aspose.Cells, por lo que las fórmulas, gráficos, estilos y paginación se renderizan con calidad profesional en PDF/imágenes;
- ✅ Nativo de la nube — los archivos pueden permanecer en la nube durante la conversión para evitar el envío de grandes cargas; la conversión puramente en línea no necesita almacenamiento en la nube en absoluto;
- ✅ Granularidad flexible — libro de trabajo / hoja de cálculo / rango / tabla / gráfico: convierte exactamente la pieza que necesitas;
- ✅ Una forma en todos los SDKs — los ejemplos de cURL, .NET, Python y Java se mapean 1:1, así que puedes literalmente copiar el patrón que te guste.
Comienza ahora: regístrate en el Tablero de Aspose Cloud, crea una Aplicación, coloca tus credenciales en cualquier fragmento de arriba y ejecútalo — tendrás tu propio “convertidor de Excel en la nube” en minutos.
¿Te ha parecido útil esto? Dale estrella, marca como favorito o compártelo — y cuéntanos sobre tus propios casos de uso de conversión de hojas de cálculo en los comentarios.
Convierte la Conversión de Hojas de Cálculo en una Línea: Una Guía Completa de la API Convertir de Aspose.Cells Cloud (.NET / Python / Java)
Convierte la Conversión de Hojas de Cálculo en una Línea