Импорт и экспорт
Перед использованием API браузера выполните интеграцию импорта и экспорта. Приложение реализует загрузку, конвертацию, опрос задач и скачивание с проверкой доступа. API снимков также требуют сервера конвертации. Пример Exchange предназначен для Sheets; поддержку других продуктов и форматов проверяйте отдельно.
Поддерживаемые форматы
В таблице указаны форматы браузерных API этой страницы. Для преобразования файлов Office нужен сервер с поддержкой соответствующего типа документа и формата.
| Импорт | Экспорт |
|---|---|
.doc, .docx | .docx |
Facade API
Импорт
Примечание для режима плагинов
Импортировать пакет Facade вручную нужно только в режиме плагинов. В режиме предустановок соответствующий пакет Facade уже подключён, поэтому дополнительный импорт не требуется.
import '@univerjs-pro/exchange-client/facade'import '@univerjs-pro/docs-exchange-client/facade'Импорт .docx
Импорт файла .docx с получением unitId
Внимание
Для этого метода требуется совместная работа: он создаёт документ на сервере и возвращает unitId. Если совместная
работа не включена, используйте импорт снимка.
При совместном редактировании у каждого документа есть уникальный unitId. Метод univerAPI.importDocToUnitIdAsync принимает параметр file и возвращает unitId, по которому можно открыть документ. Параметр file может быть объектом File или URL удалённого файла.
import '@univerjs-pro/collaboration-client/facade'const unitId = await univerAPI.importDocToUnitIdAsync(file)if (unitId) { await univerAPI.getCollaboration().loadDocAsync(unitId)}Импорт файла .docx с получением IDocumentData
Для импорта снимка совместная работа не требуется. Для совместных документов используйте импорт по unitId.
Метод univerAPI.importDocToSnapshotAsync импортирует файл .docx и возвращает данные документа в формате IDocumentData.
// Accept a File objectconst snapshot = await univerAPI.importDocToSnapshotAsync(file)// Or accept a remote file URL// const snapshot = await univerAPI.importDocToSnapshotAsync('https://example.com/filename.docx');// Create a new document via snapshotif (snapshot) univerAPI.createDocument(snapshot)Экспорт .docx
Экспорт файла .docx по unitId
Внимание
Для экспорта по unitId требуется совместная работа. Если она не включена, используйте экспорт снимка.
При совместном редактировании у каждого документа есть уникальный unitId. Метод univerAPI.exportDocByUnitIdAsync принимает параметр unitId и возвращает объект File.
const fDocument = univerAPI.getActiveDocument()const unitId = fDocument.getId()const file = await univerAPI.exportDocByUnitIdAsync(unitId)// Download the file through the Facade APIif (file) univerAPI.downloadFile(file, 'univer', 'docx')Экспорт файла .docx с помощью IDocumentData
Метод univerAPI.exportDocBySnapshotAsync принимает IDocumentData и возвращает объект File.
const fDocument = univerAPI.getActiveDocument()const snapshot = fDocument.save()const file = await univerAPI.exportDocBySnapshotAsync(snapshot)// Download the file through the Facade APIif (file) univerAPI.downloadFile(file, 'univer', 'docx')Удаление встроенных меню и UI-взаимодействий для импорта и экспорта
Univer больше не включает встроенные меню и UI-взаимодействия для импорта и экспорта. Базовые сервисы и Facade API остаются доступными.
Если вашему приложению нужны прежние меню и UI-взаимодействия для импорта и экспорта, используйте пример миграции встроенных меню и UI-взаимодействий для импорта и экспорта, чтобы реализовать их с помощью собственного плагина. Полный исходный код примера доступен для просмотра онлайн и скачивания.
Насколько полезно это руководство?