# Импорт и экспорт файлов

> Преобразуйте файлы Office в снимки продуктов и сохраняйте изменённые снимки в файлы.

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

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

- Requested language: `ru-RU`

- Content language: `ru-RU`

- Documentation version: `1.3.0`

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

---

Преобразование связывает внешние форматы с моделями содержимого Univer. Импорт разбирает файл в Snapshot соответствующего продукта, а экспорт сериализует снимок в выбранный выходной формат.

## От файла к снимку

`.xlsx`, `.docx` и `.pptx` — пакеты OOXML с XML и ресурсами, например изображениями. `.xls`, `.doc` и `.ppt` используют старые двоичные структуры; CSV и TSV — текстовые форматы. Передайте исходный поддерживаемый файл: модуль выполнит декодирование, разбор пакета и сопоставление ресурсов.

Snapshot хранит состояние содержимого продукта для сохранения и восстановления. [Структуры данных шести продуктов](#структуры-данных-snapshot)

### Импорт: файл → Snapshot

Разбирает содержимое, стили и ресурсы в модель Sheet, Doc, Slide, Relational Table или другого продукта.

```mermaid
flowchart LR
    A["1. Исходный файл<br/>XLSX / DOCX / PPTX и др."]
    B["2. Разбор в Snapshot<br/>Server SDK"]
    C["3. Расчёт по необходимости<br/>Обновить Snapshot"]
    D["4. Web SDK<br/>Правка или обработка содержимого"]
    A --> B --> C --> D
    classDef calculation stroke-dasharray:5 4
    class C calculation
```

### Экспорт: Snapshot → файл

Читает текущий снимок и создаёт структуру и ресурсы целевого формата. Снимок — модель содержимого среды выполнения, обычно передаваемая и сохраняемая в JSON.

```mermaid
flowchart LR
    A["1. Текущий Snapshot<br/>Изменённое содержимое"]
    B["2. Расчёт по необходимости<br/>Обновить Snapshot"]
    C["3. Server SDK<br/>Преобразование в целевой формат"]
    D["4. Выходной файл<br/>XLSX / DOCX / PPTX и др."]
    A --> B --> C --> D
    classDef calculation stroke-dasharray:5 4
    class B calculation
```

Пример Sheet: расчёт формул, сводных таблиц и числовых форматов согласно политике с обновлением Snapshot. Подробнее: [серверные вычисления](https://docs.univer.ai/ru-RU/overview/features/shared/server-calculation.md).

### Структуры данных Snapshot

У каждого продукта есть интерфейс Snapshot для сохранения содержимого и ссылок на ресурсы, обычно в JSON. Ссылки ведут к определениям полей, типам и примерам.

| Продукт | Интерфейс Snapshot | Основное содержимое |
| --- | --- | --- |
| Электронные таблицы (Sheet) | [`IWorkbookData`](https://docs.univer.ai/ru-RU/guides/sheets/model/workbook-data.md#iworkbookdata) | Листы, ячейки, общие стили и ресурсы плагинов. |
| Документы (Doc) | [`IDocumentData`](https://docs.univer.ai/ru-RU/guides/docs/model/document-data.md#idocumentdata) | Текст, абзацы, стили, колонтитулы и ресурсы. |
| Презентации (Slide) | [`ISlideData`](https://docs.univer.ai/ru-RU/guides/slides/model/slide-data.md#islidedata) | Слайды, элементы, образцы, темы и ресурсы. |
| Реляционная таблица (Relational Table) | [`IBaseSnapshot`](https://docs.univer.ai/ru-RU/guides/bases/model/base-snapshot.md#ibasesnapshot) | Таблицы, поля, записи, представления и их порядок. |
| Холст (Canvases) | [`IBoardData`](https://docs.univer.ai/ru-RU/guides/boards/model/board-data.md#iboarddata) | Страницы, элементы, темы и ресурсы. |
| PDF | [`IPdfUnitData`](https://docs.univer.ai/ru-RU/guides/pdfs/model/pdf-data.md#ipdfunitdata) | Исходный документ, сохраняемое состояние правок и привязки ресурсов. |

Получите текущий снимок через `save()` в Facade продукта и восстановите его соответствующим API создания. Изменяйте активное содержимое через Facade API. Для PDF метод `pdf.save()` сохраняет исходную основу и `editState`.

## Форматы по продуктам

Форматы Office и табличных данных ниже соответствуют прямым маршрутам Rust Exchange. PDF обрабатывается отдельным модулем.

| Продукт | Импорт / компиляция | Экспорт | Особенности |
| --- | --- | --- | --- |
| [Электронные таблицы (Sheet)](https://docs.univer.ai/ru-RU/guides/sheets/features/import-export.md) | `.xls`, `.xlsx`, `.csv`, `.tsv` | `.xlsx`, `.csv`, `.tsv` | CSV/TSV содержит один лист. |
| [Документы (Doc)](https://docs.univer.ai/ru-RU/guides/docs/features/import-export.md) | `.doc`, `.docx` | `.docx` | Старый DOC импортируется в модель Docs; экспорт выполняется в DOCX. |
| [Презентации (Slide)](https://docs.univer.ai/ru-RU/guides/slides/features/import-export.md) | `.ppt`, `.pptx` | `.pptx` | Старый PPT импортируется в Slides; экспорт выполняется в PPTX. |
| [Реляционная таблица (Relational Table)](https://docs.univer.ai/ru-RU/guides/bases/features/import-export.md) | `.xls`, `.xlsx`, `.csv`, `.tsv` | `.xlsx`, `.csv`, `.tsv` | CSV/TSV содержит одну таблицу; XLSX поддерживает сопоставление таблиц и полей. |
| [Холст (Canvases)](https://docs.univer.ai/ru-RU/guides/boards/features/import-export.md) | Mermaid (`.mmd` / исходный текст) | `.pptx` | Mermaid создаёт черновик импорта: примените его через Canvases Facade и сохраните снимок. PPTX экспортирует активную страницу. |
| [PDF](https://docs.univer.ai/ru-RU/guides/pdfs/features/import-export.md) | `.pdf` | `.pdf` | Требуется служба преобразования PDF, отдельная от Rust Exchange CLI. |

- Старые `.xls`, `.doc` и `.ppt` поддерживаются на входе; выходные форматы — `.xlsx`, `.docx` и `.pptx` соответственно.
- При экспорте CSV/TSV выбирается один лист или таблица Relational Table. Для сохранения полной модели и ресурсов используйте снимок продукта.
- Допустимые расширения зависят от точки входа SDK. Для `.xlsm`, `.pptm`, `.ppsx`, `.ppsm` и `.potx` проверьте сервер и браузерный API: это не дополнительные имена прямых форматов Rust CLI.

## Вычисления при преобразовании

Поддерживаемые сценарии преобразования электронных таблиц могут включать серверные вычисления:

- **Формулы:** заполнение отсутствующих кешированных результатов при импорте либо пересчёт перед экспортом согласно выбранной политике.
- **Сводные таблицы:** расчёт группировок и агрегатов по исходным данным и настройкам с записью результатов в снимок или выходную книгу.
- **Числовые форматы:** получение отображаемого текста дат, процентов, валют и других значений. CSV/TSV позволяет выбрать отображаемые или исходные значения.

Связанный процесс описан в разделе [Headless и серверные вычисления](https://docs.univer.ai/ru-RU/overview/features/shared/server-calculation.md).

## Интеграция

Преобразование файлов относится к Server SDK. Приложение предоставляет загрузку, задачи, хранилище и скачивание. Преобразование снимков работает без совместного редактирования; экспорт общего документа читает подтверждённую ревизию после синхронизации изменений.

Начните с [Интеграции преобразования](https://docs.univer.ai/ru-RU/server/import-export.md) и [Преобразования в Node.js](https://docs.univer.ai/ru-RU/server/import-export/node.md).

Поддержка формата и сохранение отдельных функций при обратном преобразовании проверяются отдельно. Используйте списки функций и реальные файлы для проверки формул, изображений, стилей и расположения.

[Все возможности](https://docs.univer.ai/ru-RU/overview/features.md)
