# Importación y exportación de archivos

> Convierte archivos Office en snapshots de producto y los snapshots editados en archivos.

- Human documentation: [https://docs.univer.ai/es-ES/overview/features/shared/file-conversion](https://docs.univer.ai/es-ES/overview/features/shared/file-conversion)

- Agent Markdown: [https://docs.univer.ai/es-ES/overview/features/shared/file-conversion.md](https://docs.univer.ai/es-ES/overview/features/shared/file-conversion.md)

- Requested language: `es-ES`

- Content language: `es-ES`

- Documentation version: `1.3.0`

- Source: [features/shared/file-conversion.es-ES.mdx](https://github.com/dream-num/documentation/blob/dev/content/docs/features/shared/file-conversion.es-ES.mdx)

---

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](#estructuras-de-datos-snapshot)

### Importación: archivo → snapshot

Analiza el contenido, los estilos y los recursos para convertirlos al modelo Sheet, Doc, Slide, Relational Table u otro producto.

```mermaid
flowchart LR
    A["1. Archivo original<br/>XLSX / DOCX / PPTX, etc."]
    B["2. Analizar a snapshot<br/>Server SDK"]
    C["3. Cálculo opcional<br/>Actualizar Snapshot"]
    D["4. Web SDK<br/>Editar o procesar contenido"]
    A --> B --> C --> D
    classDef calculation stroke-dasharray:5 4
    class C calculation
```

### 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.

```mermaid
flowchart LR
    A["1. Snapshot actual<br/>Contenido editado"]
    B["2. Cálculo opcional<br/>Actualizar Snapshot"]
    C["3. Server SDK<br/>Convertir al formato de destino"]
    D["4. Archivo de salida<br/>XLSX / DOCX / PPTX, etc."]
    A --> B --> C --> D
    classDef calculation stroke-dasharray:5 4
    class B calculation
```

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](https://docs.univer.ai/es-ES/overview/features/shared/server-calculation.md).

### 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`](https://docs.univer.ai/es-ES/guides/sheets/model/workbook-data.md#iworkbookdata) | Hojas, celdas, estilos compartidos y recursos de complementos. |
| Documentos (Doc) | [`IDocumentData`](https://docs.univer.ai/es-ES/guides/docs/model/document-data.md#idocumentdata) | Cuerpo, párrafos, estilos, encabezados, pies de página y recursos. |
| Presentaciones (Slide) | [`ISlideData`](https://docs.univer.ai/es-ES/guides/slides/model/slide-data.md#islidedata) | Diapositivas, elementos, patrones, temas y recursos. |
| Tabla relacional (Relational Table) | [`IBaseSnapshot`](https://docs.univer.ai/es-ES/guides/bases/model/base-snapshot.md#ibasesnapshot) | Tablas, campos, registros, vistas y su orden. |
| Lienzo (Canvases) | [`IBoardData`](https://docs.univer.ai/es-ES/guides/boards/model/board-data.md#iboarddata) | Páginas, elementos, temas y recursos. |
| PDF | [`IPdfUnitData`](https://docs.univer.ai/es-ES/guides/pdfs/model/pdf-data.md#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)](https://docs.univer.ai/es-ES/guides/sheets/features/import-export.md) | `.xls`, `.xlsx`, `.csv`, `.tsv` | `.xlsx`, `.csv`, `.tsv` | CSV/TSV representa una sola hoja. |
| [Documentos (Doc)](https://docs.univer.ai/es-ES/guides/docs/features/import-export.md) | `.doc`, `.docx` | `.docx` | DOC antiguo se importa al modelo Docs; la salida utiliza DOCX. |
| [Presentaciones (Slide)](https://docs.univer.ai/es-ES/guides/slides/features/import-export.md) | `.ppt`, `.pptx` | `.pptx` | PPT antiguo se importa al modelo Slides; la salida utiliza PPTX. |
| [Tabla relacional (Relational Table)](https://docs.univer.ai/es-ES/guides/bases/features/import-export.md) | `.xls`, `.xlsx`, `.csv`, `.tsv` | `.xlsx`, `.csv`, `.tsv` | CSV/TSV representa una tabla; XLSX permite mapear tablas y campos. |
| [Lienzo (Canvases)](https://docs.univer.ai/es-ES/guides/boards/features/import-export.md) | 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](https://docs.univer.ai/es-ES/guides/pdfs/features/import-export.md) | `.pdf` | `.pdf` | Requiere el servicio de conversión PDF, separado del CLI Rust Exchange. |

- Los formatos antiguos `.xls`, `.doc` y `.ppt` se pueden importar; las salidas son `.xlsx`, `.docx` y `.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`, `.ppsm` y `.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](https://docs.univer.ai/es-ES/overview/features/shared/server-calculation.md) 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](https://docs.univer.ai/es-ES/server/import-export.md) y [Conversión en Node.js](https://docs.univer.ai/es-ES/server/import-export/node.md).

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.

[Todas las funciones](https://docs.univer.ai/es-ES/overview/features.md)
