Интеграция обмена файлами
Добавление импорта и экспорта в Univer с совместным редактированием или без него.
Чтобы открыть Excel в Univer, сначала преобразуйте файл в данные редактора. При экспорте преобразуйте изменённые данные обратно в Excel. Серверный @univerjs-pro/exchange-node выполняет преобразование, а браузер загружает файлы, открывает документы и скачивает результаты.
Без совместного редактирования
Например, пользователь загружает Excel, редактирует его на странице и скачивает результат в Excel.
- Браузер загружает файл, сервер преобразует его в данные Univer и возвращает их.
- Браузер открывает таблицу с этими данными для редактирования.
- При экспорте браузер отправляет изменённые данные серверу, который создаёт файл Excel.
Сервис совместного редактирования здесь не нужен. «Снимок» в браузерных API — это используемые здесь данные документа. Импорт и экспорт снимков всё равно требуют серверного преобразования. Для сохранения и дальнейшего продолжения работы приложение должно хранить эти данные.
Установка и применение модуля описаны в Импорте и экспорте Office. Оттуда же начните, если нужна только обработка файлов в Node.js.
С совместным редактированием
Например, пользователь импортирует Excel, делится документом с коллегами, редактирует его вместе с ними и затем экспортирует.
- Сервер преобразует загруженный файл и сохраняет совместный документ.
- Возвращает ID, который открывает браузер; другие пользователи входят по тому же ID.
- При экспорте сервер читает актуальное содержимое и создаёт Excel для скачивания.
unitId браузерных API — этот ID. Сначала завершите интеграцию совместного редактирования, затем запустите пример Exchange. Изучайте его браузерный, серверный и преобразующий код вместе.
Перед экспортом дождитесь синхронизации, иначе файл может не содержать последних изменений. Чтение и преобразование совместных документов описано в серверном Office Exchange раздела Модули расширений.
Подключение кнопок импорта и экспорта
Когда преобразование на сервере работает, подключите его к странице:
- Меню Univer или API Facade: реализуйте загрузку, преобразование, опрос задач и скачивание по примеру Exchange, затем настройте браузерные плагины. Адреса запросов и форматы ответов должны совпадать.
- Собственные кнопки: вызывайте API приложения. После импорта откройте полученные данные или ID, после экспорта скачайте результат.
Настройки браузера см. в Sheets, Docs, Slides, Boards, Bases и PDFs. Совместный пример использует Sheets. Для остальных проверьте Импорт и экспорт Office и форматы своего выпуска.
Проверка интеграции
Импортируйте реальный файл, отредактируйте и экспортируйте. Откройте его в Office и проверьте изменения, формулы, изображения и макет. Для совместной работы также проверьте доступ других пользователей и сохранность после перезапуска сервера.
До развёртывания замените временные файлы и задачи в памяти хранилищем приложения, ограничьте размеры загрузок и обработайте ошибки и тайм-ауты. Загрузка, опрос задач и скачивание требуют проверки доступа; см. Идентификация и авторизация.
Насколько полезно это руководство?