Office.File interface
Représente le fichier du document associé à un complément Office.
Remarques
Accédez à l’objet File avec la propriété AsyncResult.value dans la fonction de rappel transmise à la méthode Document.getFileAsync.
Propriétés
size | Obtient la taille du fichier de document en octets. |
slice |
Obtient le nombre de sections du fichier divisé. |
Méthodes
close |
Ferme le fichier de document. |
get |
Retourne la section spécifiée. |
Détails de la propriété
size
Obtient la taille du fichier de document en octets.
size: number;
Valeur de propriété
number
sliceCount
Obtient le nombre de sections du fichier divisé.
sliceCount: number;
Valeur de propriété
number
Détails de la méthode
closeAsync(callback)
Ferme le fichier de document.
closeAsync(callback?: (result: AsyncResult<void>) => void): void;
Paramètres
- callback
-
(result: Office.AsyncResult<void>) => void
Optional. Fonction appelée lorsque le rappel est retourné, dont le seul paramètre est de type Office.AsyncResult.
Retours
void
Remarques
Ensemble de conditions requises : Fichier
Au maximum deux documents sont autorisés à se trouver en mémoire ; autrement, l’opération Document.getFileAsync échoue. Utilisez la méthode File.closeAsync pour fermer le fichier lorsque vous avez terminé de l’utiliser.
Dans la fonction de rappel passée à la méthode closeAsync, vous pouvez utiliser les propriétés de l’objet AsyncResult pour renvoyer les informations suivantes.
Propriété | Utilisation |
---|---|
AsyncResult.value | Retourne undefined toujours, car il n’y a pas d’objet ou de données à récupérer. |
AsyncResult.status | Déterminer si l’opération a réussi ou échoué. |
AsyncResult.error | Accéder à un objet Error fournissant des informations sur l’erreur en cas d’échec de l’opération. |
AsyncResult.asyncContext | Définissez un élément de tout type retourné dans l’objet AsyncResult sans être modifié. |
getSliceAsync(sliceIndex, callback)
Retourne la section spécifiée.
getSliceAsync(sliceIndex: number, callback?: (result: AsyncResult<Office.Slice>) => void): void;
Paramètres
- sliceIndex
-
number
Spécifie l’index de base zéro de la section à récupérer. Obligatoire.
- callback
-
(result: Office.AsyncResult<Office.Slice>) => void
Optional. Fonction appelée lorsque le rappel est retourné, dont le seul paramètre est de type Office.AsyncResult. La value
propriété du résultat est l’objet Office.Slice .
Retours
void
Remarques
Ensemble de conditions requises : Fichier
Dans la fonction de rappel passée à la méthode getSliceAsync, vous pouvez utiliser les propriétés de l’objet AsyncResult pour renvoyer les informations suivantes.
Propriété | Utilisation |
---|---|
AsyncResult.value | Accéder à l’objet Slice. |
AsyncResult.status | Déterminer si l’opération a réussi ou échoué. |
AsyncResult.error | Accéder à un objet Error fournissant des informations sur l’erreur en cas d’échec de l’opération. |
AsyncResult.asyncContext | Définissez un élément de tout type retourné dans l’objet AsyncResult sans être modifié. |
Exemples
// This sample shows how to get all the slices of a file.
// The asynchronous operation returns a Promise so it can be awaited.
private getAllSlices(file: any): Promise<any> {
const self = this;
let isError = false;
return new Promise(async (resolve, reject) => {
let documentFileData = [];
for (let sliceIndex = 0; (sliceIndex < file.sliceCount) && !isError; sliceIndex++) {
const sliceReadPromise = new Promise((sliceResolve, sliceReject) => {
file.getSliceAsync(sliceIndex, (asyncResult) => {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
documentFileData = documentFileData.concat(asyncResult.value.data);
sliceResolve({
IsSuccess: true,
Data: documentFileData
});
} else {
file.closeAsync();
sliceReject({
IsSuccess: false,
ErrorMessage: `Error in reading the slice: ${sliceIndex} of the document`
});
}
});
});
await sliceReadPromise.catch((error) => {
isError = true;
});
}
if (isError || !documentFileData.length) {
reject('Error while reading document. Please try it again.');
return;
}
file.closeAsync();
resolve({
IsSuccess: true,
Data: documentFileData
});
});
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour