Partager via


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.

sliceCount

Obtient le nombre de sections du fichier divisé.

Méthodes

closeAsync(callback)

Ferme le fichier de document.

getSliceAsync(sliceIndex, callback)

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
        });
    });
}