La conversión de hojas de cálculo ODS a XLSX es un requisito frecuente al integrar documentos de oficina en aplicaciones web, especialmente cuando los sistemas posteriores solo aceptan formatos de Microsoft Excel. GroupDocs.Conversion Cloud SDK for PHP ofrece una API confiable del lado del servidor que maneja esta transformación con alta fidelidad. En esta guía aprenderá cómo configurar el SDK, ejecutar una conversión completa, medir el rendimiento y aplicar buenas prácticas para un procesamiento rápido y eficiente en memoria.
Pasos para la conversión de ODS a XLSX en PHP
- Instalar el SDK mediante Composer - Ejecuta
composer require groupdocs-conversion-cloudpara agregar la biblioteca a tu proyecto. - Configurar credenciales de API - Crea un objeto
Configurationcon tu ID de cliente y secreto, luego instancia elConversionApi. Consulta la referencia de API para obtener detalles de la clase. - Subir el archivo fuente ODS - Utiliza el endpoint
UploadFilepara almacenar el archivo en el almacenamiento en la nube de GroupDocs. - Crear la configuración de conversión - Establece
outputFormataXLSXy ajusta cualquier parámetro opcional comopreserveFormatting. - Ejecutar la conversión - Llama a
convertDocumentcon el ID del archivo subido y el objeto de configuración. - Descargar el resultado XLSX - Recupera el archivo convertido usando el endpoint
DownloadFiley guárdalo localmente.
Estos pasos ilustran el flujo de trabajo principal de la conversión de ODS a XLSX en PHP mientras se mantiene bajo el uso de memoria y el tiempo de ejecución corto.
Ejemplo completo de código PHP ODS a XLSX
El siguiente ejemplo demuestra una conversión completa de extremo a extremo utilizando el SDK GroupDocs.Conversion Cloud para PHP.
<?php
require 'vendor/autoload.php';
use GroupDocsConversionCloud\Configuration; use GroupDocsConversionCloud\Api\ConversionApi; use GroupDocsConversionCloud\Models\ConvertSettings; use GroupDocsConversionCloud\Models\StorageFile;
// ---------------------------------------------------------------------
// 1. Configura las credenciales de la API (reemplaza con tus propios valores)
// ---------------------------------------------------------------------
$config = new Configuration();
$config->setAppSid('YOUR_CLIENT_ID');
$config->setAppKey('YOUR_CLIENT_SECRET');
// ---------------------------------------------------------------------
// 2. Initialize the Conversion API
// ---------------------------------------------------------------------
$conversionApi = new ConversionApi($config);
// ——————————————————————— // 3. Cargar el archivo ODS al almacenamiento en la nube de GroupDocs // ——————————————————————— $uploadResponse = $conversionApi->uploadFile( new StorageFile([‘path’ => ‘sample.ods’, ‘file’ => fopen(‘sample.ods’, ‘rb’)]) ); $sourcePath = $uploadResponse->getPath();
// ---------------------------------------------------------------------
// 4. Establecer opciones de conversión (formato de salida XLSX)
// ---------------------------------------------------------------------
$convertSettings = new ConvertSettings();
$convertSettings->setOutputFormat('XLSX');
$convertSettings->setFilePath($sourcePath);
// ——————————————————————— // 5. Realizar la conversión // ——————————————————————— $convertResponse = $conversionApi->convertDocument($convertSettings); $downloadUrl = $convertResponse->getUrl();
// ——————————————————————— // 6. Descargar el archivo XLSX convertido // ——————————————————————— $targetFile = fopen(‘output.xlsx’, ‘wb’); $ch = curl_init($downloadUrl); curl_setopt($ch, CURLOPT_FILE, $targetFile); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_exec($ch); curl_close($ch); fclose($targetFile);
echo “Conversion completed. File saved as output.xlsx\n”;
<!--[COMPLETE_CODE_SNIPPET_END]-->
> **Nota:** Este ejemplo de código muestra la funcionalidad principal. Antes de usarlo en su proyecto, asegúrese de actualizar las rutas de los archivos (`sample.ods`, `output.xlsx`) para que coincidan con sus ubicaciones reales, verifique que todas las dependencias requeridas estén correctamente instaladas y pruebe exhaustivamente en su entorno de desarrollo. Si encuentra algún problema, consulte la [documentación oficial](https://docs.groupdocs.cloud/conversion/) o póngase en contacto con el [equipo de soporte](https://forum.groupdocs.cloud/c/conversion/11) para obtener ayuda.
## Conversión de hojas de cálculo basada en la nube mediante API REST usando cURL
También puedes realizar la misma conversión sin escribir código PHP llamando directamente a los endpoints REST.
1. **Obtener un token de acceso**
<!--[CODE_SNIPPET_START]-->
```bash
curl -X POST "https://api.groupdocs.cloud/v2.0/oauth2/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
Cargar el archivo ODS
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/file/upload?path=sample.ods" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -F "file=@sample.ods"Iniciar la conversión
curl -X POST "https://api.groupdocs.cloud/v2.0/conversion/convert" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{"inputPath":"sample.ods","outputFormat":"XLSX"}'Descargar el resultado XLSX
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/download?path=sample.xlsx" \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -o output.xlsx
Para obtener una lista completa de los puntos finales y los parámetros, consulte la documentación oficial de la API.
Instalación y configuración en PHP
- Instalar el paquete
composer require groupdocs-conversion-cloud - Descargar el SDK - La última versión está disponible en la página de descarga.
- Configurar credenciales - Crea un objeto
Configurationcon tuclient_idyclient_secret. - Configurar el registro (opcional) - El SDK puede escribir registros de solicitudes en un archivo; habilítalo en la configuración si necesitas registros detallados de conversión.
- Aplicar una licencia - Para uso en producción, compra una licencia y aplícala como se describe en la página de licencia.
Ejemplo de conversión de ODS a XLSX en PHP con GroupDocs.Conversion
GroupDocs.Conversion Cloud se encarga del trabajo pesado de analizar archivos ODS, mapear estilos de cell y generar un libro de trabajo XLSX compatible con los estándares. La arquitectura basada en la nube elimina la necesidad de instalaciones locales de Office y garantiza resultados consistentes en todas las plataformas. Este ejemplo muestra cómo una única llamada API puede reemplazar un flujo de trabajo de escritorio de varios pasos.
Funciones de GroupDocs.Conversion que importan para esta tarea
- Soporte completo de ODS - Todos los datos de celdas, fórmulas y formato se conservan.
- Alta velocidad de conversión - El procesamiento optimizado del lado del servidor entrega resultados de sub‑segundo para archivos típicos.
- Baja huella de memoria - El servicio transmite datos, manteniendo el uso de memoria por debajo de 50 MB incluso para hojas de cálculo grandes.
- Registro de conversión - Los registros detallados están disponibles a través del objeto de respuesta y el registro opcional del lado del servidor.
- Documentación extensa - Material de referencia y ejemplos de código se proporcionan en la documentación oficial.
Configuración de opciones de conversión de ODS a XLSX
Puede afinar la conversión ajustando el modelo ConvertSettings:
$convertSettings = new ConvertSettings();
$convertSettings->setOutputFormat('XLSX');
$convertSettings->setPreserveCellFormatting(true);
$convertSettings->setPassword('optionalPassword'); // if the source ODS is protected
Estas opciones le permiten controlar si desea mantener el formato original, incrustar contraseñas o limitar la conversión a hojas específicas.
Optimización de la velocidad y uso de memoria en la conversión de ODS a XLSX
A continuación se muestra una prueba de referencia realizada en una instancia típica de AWS t3.medium.
| Tamaño de archivo | Tiempo de conversión | Memoria máxima |
|---|---|---|
| 0.5 MB | 0.42 s | 32 MB |
| 1 MB | 0.68 s | 38 MB |
| 5 MB | 1.95 s | 45 MB |
| 10 MB | 3.80 s | 52 MB |
Consejos para un mejor rendimiento
- Comprime el ODS de origen antes de subirlo para reducir la latencia de la red.
- Reutiliza la misma instancia
ConversionApipara varios archivos y evita la sobrecarga de autenticación repetida. - Desactiva funciones innecesarias, como la extracción de imágenes, cuando no sean necesarias.
Mejores prácticas para una conversión fiable de ODS a XLSX en PHP
- Validar archivos de entrada - Asegúrese de que el archivo ODS esté bien formado antes de enviarlo a la API.
- Manejar errores de forma elegante - Verifique la respuesta de la API en busca de códigos de error y registre el
requestIdpara la solución de problemas. - Utilizar streaming para archivos grandes - Cargue y descargue archivos como streams para mantener bajo el uso de memoria.
- Probar con casos límite - Verifique fórmulas, celdas combinadas y estilos personalizados para evitar pérdida de datos.
- Monitorizar los registros de conversión - Habilite el registro del lado del servidor para capturar métricas de rendimiento y cualquier advertencia de conversión.
Conclusión
Convertir ODS a XLSX en PHP es sencillo con el GroupDocs.Conversion Cloud SDK for PHP. El SDK ofrece procesamiento rápido y eficiente en memoria, registro completo y documentación detallada que le ayuda a crear flujos de trabajo de hojas de cálculo robustos. Recuerde obtener una licencia adecuada para uso en producción; los detalles de precios están disponibles en la página del producto, y se puede solicitar una licencia temporal desde la página de licencia temporal. Comience a integrar la conversión hoy y optimice sus canalizaciones de documentos.
Preguntas frecuentes
¿Cuál es la velocidad típica de conversión de ODS a XLSX en PHP?
Para archivos de hasta 5 MB, la conversión generalmente se completa en menos de 2 segundos, como se muestra en la tabla de referencia. Los archivos más grandes escalan linealmente, pero el servicio en la nube mantiene una huella de memoria baja.¿Cómo puedo registrar los detalles de conversión para auditoría?
El SDK devuelve unrequestIdy marcas de tiempo en el objeto de respuesta. También puede habilitar el registro del lado del servidor en la configuración de su cuenta para capturar la carga completa de la solicitud y la respuesta.¿Dónde puedo encontrar la referencia de API para la configuración de conversión?
Todos los modelos, incluidoConvertSettings, están documentados en la referencia de API oficial. La referencia proporciona ejemplos para cada opción configurable.¿Existe una forma de probar el SDK sin comprar una licencia?
Sí, puede solicitar una licencia temporal en la página de licencia temporal. Esto le permite evaluar las funciones de conversión antes de comprometerse con un plan de pago.
