Importación y exportación de archivos
Convierte archivos Office en snapshots de producto y los snapshots editados en archivos.
La conversión conecta los formatos externos con los modelos de contenido de Univer. La importación analiza un archivo y genera el Snapshot del producto correspondiente; la exportación serializa ese snapshot en el formato elegido.
Del archivo al snapshot
.xlsx, .docx y .pptx son paquetes OOXML con XML y recursos como imágenes. .xls, .doc y .ppt usan estructuras binarias antiguas; CSV y TSV son formatos de texto. Envía el archivo original compatible: el módulo realiza la decodificación, el análisis del paquete y la correspondencia de recursos.
Un snapshot contiene el estado del contenido de un producto que se puede guardar y restaurar. Ver las estructuras de los seis productos
Importación: archivo → snapshot
Analiza el contenido, los estilos y los recursos para convertirlos al modelo Sheet, Doc, Slide, Relational Table u otro producto.
Exportación: snapshot → archivo
Lee el snapshot actual y genera la estructura y los recursos del formato de destino. El snapshot es el modelo de contenido del entorno de ejecución y suele transferirse o guardarse en JSON.
Ejemplo de Sheet: calcular fórmulas, tablas dinámicas y formatos numéricos según la política elegida y actualizar el snapshot. Consulta el cálculo en el servidor.
Estructuras de datos Snapshot
Cada producto tiene una interfaz Snapshot para guardar su contenido y referencias a recursos, normalmente en JSON. Los enlaces muestran las definiciones de campos, tipos y ejemplos.
| Producto | Interfaz Snapshot | Contenido principal |
|---|---|---|
| Hojas de cálculo (Sheet) | IWorkbookData | Hojas, celdas, estilos compartidos y recursos de complementos. |
| Documentos (Doc) | IDocumentData | Cuerpo, párrafos, estilos, encabezados, pies de página y recursos. |
| Presentaciones (Slide) | ISlideData | Diapositivas, elementos, patrones, temas y recursos. |
| Tabla relacional (Relational Table) | IBaseSnapshot | Tablas, campos, registros, vistas y su orden. |
| Lienzo (Canvases) | IBoardData | Páginas, elementos, temas y recursos. |
IPdfUnitData | Documento original, estado de edición persistente y vínculos de recursos. |
Usa save() en la Facade del producto para obtener el snapshot actual y su API de creación para restaurarlo. Modifica el contenido activo mediante Facade API. Para PDF, pdf.save() conserva tanto la base original como editState.
Formatos por producto
Los formatos Office y tabulares siguientes corresponden a las rutas directas de Rust Exchange. PDF utiliza un módulo de conversión independiente.
| Producto | Importar / compilar | Exportar | Alcance |
|---|---|---|---|
| Hojas de cálculo (Sheet) | .xls, .xlsx, .csv, .tsv | .xlsx, .csv, .tsv | CSV/TSV representa una sola hoja. |
| Documentos (Doc) | .doc, .docx | .docx | DOC antiguo se importa al modelo Docs; la salida utiliza DOCX. |
| Presentaciones (Slide) | .ppt, .pptx | .pptx | PPT antiguo se importa al modelo Slides; la salida utiliza PPTX. |
| Tabla relacional (Relational Table) | .xls, .xlsx, .csv, .tsv | .xlsx, .csv, .tsv | CSV/TSV representa una tabla; XLSX permite mapear tablas y campos. |
| Lienzo (Canvases) | Mermaid (.mmd / texto fuente) | .pptx | Mermaid genera un borrador que se aplica mediante Canvases Facade antes de guardar el snapshot. PPTX exporta la página activa. |
.pdf | .pdf | Requiere el servicio de conversión PDF, separado del CLI Rust Exchange. |
- Los formatos antiguos
.xls,.docy.pptse pueden importar; las salidas son.xlsx,.docxy.pptx, respectivamente. - La exportación CSV/TSV selecciona una hoja o tabla Relational Table. Guarda el snapshot para conservar el modelo completo y sus recursos.
- Las extensiones admitidas varían según el punto de entrada SDK. Comprueba el backend y la API del navegador para
.xlsm,.pptm,.ppsx,.ppsmy.potx; no son nombres adicionales de formatos directos del CLI Rust.
Cálculo durante la conversión
Los flujos compatibles de conversión de hojas de cálculo pueden incluir cálculo en el servidor:
- Fórmulas: completar resultados en caché ausentes al importar o recalcular antes de exportar según la política seleccionada.
- Tablas dinámicas: calcular agrupaciones y agregaciones a partir de los datos y la configuración, y materializar los resultados en el snapshot o libro exportado.
- Formatos numéricos: generar el texto mostrado para fechas, porcentajes, monedas y otros valores. CSV/TSV permite elegir valores mostrados o sin formato.
Consulta Headless y cálculo en el servidor para el procesamiento de contenido relacionado.
Integración
La conversión pertenece al Server SDK. La aplicación proporciona carga, tareas, almacenamiento y descarga. Los snapshots pueden convertirse sin colaboración; la exportación compartida lee una revisión confirmada tras sincronizar los cambios.
Empieza por Integración de la conversión y Conversión en Node.js.
La compatibilidad de formato y la conservación de cada función son aspectos distintos. Comprueba fórmulas, imágenes, estilos y diseño con las listas de funciones y archivos reales.
¿Cómo es esta guía?