Importation et exportation
Avant d’utiliser les API ci-dessous, suivez l’intégration des imports/exports. Votre application doit fournir les contrats de téléversement, conversion, suivi des tâches et téléchargement autorisé. Les API de snapshot nécessitent aussi un backend de conversion. L’exemple Exchange concerne Sheets ; vérifiez séparément les autres produits et formats.
Formats pris en charge
Le tableau décrit les API du navigateur présentées ici. La conversion des fichiers Office nécessite un backend compatible avec le même type de document et le même format.
| Importation | Exportation |
|---|---|
.doc, .docx | .docx |
API Facade
Importation
Remarque sur le mode plugin
Seul le mode plugin nécessite d’importer manuellement le package Facade. Le mode prédéfini inclut déjà le package Facade correspondant ; aucune importation supplémentaire n’est donc nécessaire.
import '@univerjs-pro/exchange-client/facade'import '@univerjs-pro/docs-exchange-client/facade'Importer un fichier .docx
Importer un fichier .docx et obtenir son unitId
Attention
Cette méthode nécessite la collaboration : elle crée un document sur le serveur et renvoie un unitId. Utilisez
l’importation par instantané si la collaboration n’est pas activée.
Lorsque l’édition collaborative est activée, chaque document possède un unitId unique. L’appel de univerAPI.importDocToUnitIdAsync avec le paramètre file renvoie cet unitId, qui permet d’accéder au document. Le paramètre file peut être un objet File ou l’URL d’un fichier distant.
import '@univerjs-pro/collaboration-client/facade'const unitId = await univerAPI.importDocToUnitIdAsync(file)if (unitId) { await univerAPI.getCollaboration().loadDocAsync(unitId)}Importer un fichier .docx et obtenir ses données IDocumentData
L’importation par instantané ne nécessite pas la collaboration. Pour les documents collaboratifs, utilisez
l’importation par unitId.
L’appel de univerAPI.importDocToSnapshotAsync pour importer un fichier .docx renvoie les données du document au format 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)Exporter un fichier .docx
Exporter un fichier .docx à l’aide de son unitId
Attention
L’exportation par unitId nécessite la collaboration. Si la collaboration n’est pas activée, utilisez l’exportation
par instantané.
Lorsque l’édition collaborative est activée, chaque document possède un unitId unique. L’appel de univerAPI.exportDocByUnitIdAsync avec le paramètre unitId renvoie un objet 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')Exporter un fichier .docx à l’aide de données IDocumentData
L’exportation par instantané ne nécessite pas la collaboration et convient aux flux de travail locaux.
L’appel de univerAPI.exportDocBySnapshotAsync avec des données IDocumentData renvoie un objet 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')Suppression des menus et des interactions UI d’importation et d’exportation intégrés
Univer a supprimé les menus et les interactions UI d’importation et d’exportation intégrés. Les services sous-jacents et les API Facade restent disponibles.
Si votre application doit conserver les menus et les interactions UI d’importation et d’exportation existants, consultez l’exemple de migration des menus et des interactions UI d’importation et d’exportation intégrés pour effectuer la migration avec un plugin personnalisé. L’exemple fournit le code source complet, consultable en ligne et téléchargeable.
Que pensez-vous de ce guide ?