Compartilhar via


Office.File interface

Representa o arquivo de documento associado a um Suplemento do Office.

Comentários

Acesse o objeto File com a propriedade AsyncResult.value na função de retorno de chamada passada para o método Document.getFileAsync.

Propriedades

size

Obtém o tamanho do arquivo de documento em bytes.

sliceCount

Obtém o número de fatias em que o arquivo está dividido.

Métodos

closeAsync(callback)

Fecha o arquivo do documento.

getSliceAsync(sliceIndex, callback)

Retorna a fatia especificada.

Detalhes da propriedade

size

Obtém o tamanho do arquivo de documento em bytes.

size: number;

Valor da propriedade

number

sliceCount

Obtém o número de fatias em que o arquivo está dividido.

sliceCount: number;

Valor da propriedade

number

Detalhes do método

closeAsync(callback)

Fecha o arquivo do documento.

closeAsync(callback?: (result: AsyncResult<void>) => void): void;

Parâmetros

callback

(result: Office.AsyncResult<void>) => void

Opcional. Uma função que é invocada quando o retorno de chamada retorna, cujo único parâmetro é do tipo Office.AsyncResult.

Retornos

void

Comentários

Conjunto de requisitos: Arquivo

No more than two documents are allowed to be in memory; otherwise the Document.getFileAsync operation will fail. Use the File.closeAsync method to close the file when you are finished working with it.

Na função de retorno de chamada passada para o método closeAsync, você pode usar as propriedades do objeto AsyncResult para retornar as informações a seguir.

Propriedade Usar
AsyncResult.value Sempre retorna undefined porque não há nenhum objeto ou dados para recuperar.
AsyncResult.status Determinar o sucesso ou falha da operação.
AsyncResult.error Acessar um objeto Error que fornecerá informações de erro se a operação tiver falhado.
AsyncResult.asyncContext Defina um item de qualquer tipo retornado no objeto AsyncResult sem ser alterado.

getSliceAsync(sliceIndex, callback)

Retorna a fatia especificada.

getSliceAsync(sliceIndex: number, callback?: (result: AsyncResult<Office.Slice>) => void): void;

Parâmetros

sliceIndex

number

Especifica o índice com base em zero da fatia a ser recuperada. Obrigatório.

callback

(result: Office.AsyncResult<Office.Slice>) => void

Opcional. Uma função que é invocada quando o retorno de chamada retorna, cujo único parâmetro é do tipo Office.AsyncResult. A value propriedade do resultado é o objeto Office.Slice .

Retornos

void

Comentários

Conjunto de requisitos: Arquivo

Na função de retorno de chamada passada para o método getSliceAsync, você pode usar as propriedades do objeto AsyncResult para retornar as informações a seguir.

Propriedade Usar
AsyncResult.value Acessar o objeto Slice.
AsyncResult.status Determinar o sucesso ou falha da operação.
AsyncResult.error Acessar um objeto Error que fornecerá informações de erro se a operação tiver falhado.
AsyncResult.asyncContext Defina um item de qualquer tipo retornado no objeto AsyncResult sem ser alterado.

Exemplos

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