Web SDK

Импорт и экспорт

Перед использованием API браузера выполните интеграцию импорта и экспорта. Приложение реализует загрузку, конвертацию, опрос задач и скачивание с проверкой доступа. API снимков также требуют сервера конвертации. Пример Exchange предназначен для Sheets; поддержку других продуктов и форматов проверяйте отдельно.

Поддерживаемые форматы

В таблице указаны форматы браузерных API этой страницы. Для преобразования файлов Office нужен сервер с поддержкой соответствующего типа документа и формата.

ИмпортЭкспорт
.xls, .xlsx, .csv, .tsv.xlsx, .csv, .tsv

Facade API

Импорт

Примечание о режиме плагинов

Импортировать пакет Facade вручную нужно только в режиме плагинов. В режиме предустановок соответствующий пакет Facade уже включён, поэтому дополнительный импорт не требуется.

TypeScript
import '@univerjs-pro/exchange-client/facade'import '@univerjs-pro/sheets-exchange-client/facade'

Импорт .xlsx

Импорт файла .xlsx с получением unitId

Внимание

Для этого способа требуется совместная работа: он создаёт документ на сервере и возвращает unitId. Если совместная работа не включена, используйте импорт по снимку.

Когда совместное редактирование включено, у каждого документа есть уникальный unitId. Вызов univerAPI.importSheetToUnitIdAsync с параметром file возвращает unitId, по которому можно получить доступ к документу. В качестве параметра file можно передать объект File или URL удалённого файла.

TypeScript
import '@univerjs-pro/collaboration-client/facade'const unitId = await univerAPI.importSheetToUnitIdAsync(file)if (unitId) {  await univerAPI.getCollaboration().loadSheetAsync(unitId)}

Импорт файла .xlsx с получением IWorkbookData

Для импорта по снимку совместная работа не требуется. Для документов с совместным доступом используйте импорт по unitId.

С помощью univerAPI.importSheetToSnapshotAsync можно импортировать файл .xlsx и получить данные документа в формате IWorkbookData.

TypeScript
// Accept a File objectconst snapshot = await univerAPI.importSheetToSnapshotAsync(file)// Or accept a remote file URL// const snapshot = await univerAPI.importSheetToSnapshotAsync('https://example.com/filename.xlsx');// Create a new workbook via snapshotif (snapshot) univerAPI.createWorkbook(snapshot)

Экспорт .xlsx

Экспорт файла .xlsx по unitId

Внимание

Для экспорта по unitId требуется совместная работа. Если она не включена, используйте экспорт по снимку.

Когда совместное редактирование включено, у каждого документа есть уникальный unitId. Вызов univerAPI.exportSheetByUnitIdAsync с параметром unitId возвращает объект File.

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const unitId = fWorkbook.getId()const file = await univerAPI.exportSheetByUnitIdAsync(unitId)// Download the file through the Facade APIif (file) univerAPI.downloadFile(file, 'univer', 'xlsx')

Экспорт файла .xlsx из IWorkbookData

Для экспорта по снимку совместная работа не требуется, поэтому он подходит для локальных сценариев.

Вызов univerAPI.exportSheetBySnapshotAsync с данными IWorkbookData возвращает объект File.

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const snapshot = fWorkbook.save()const file = await univerAPI.exportSheetBySnapshotAsync(snapshot)// Download the file through the Facade APIif (file) univerAPI.downloadFile(file, 'univer', 'xlsx')

Удаление встроенных меню и UI-взаимодействий для импорта и экспорта

Univer больше не включает встроенные меню и UI-взаимодействия для импорта и экспорта. Базовые сервисы и Facade API остаются доступными.

Если вашему приложению нужны прежние меню и UI-взаимодействия для импорта и экспорта, используйте пример миграции встроенных меню и UI-взаимодействий для импорта и экспорта, чтобы реализовать их с помощью собственного плагина. Полный исходный код примера доступен для просмотра онлайн и скачивания.

Насколько полезно это руководство?

© 2026 DreamNum Co., Ltd.