Office.File interface
Representa o arquivo de documento associado a um Suplemento do Office.
Comentários
Aceda ao objeto Ficheiro com a propriedade AsyncResult.value na função de chamada de retorno transmitida para o método Document.getFileAsync.
Propriedades
size | Obtém o tamanho do arquivo de documento em bytes. |
slice |
Obtém o número de fatias em que o arquivo está dividido. |
Métodos
close |
Fecha o arquivo do documento. |
get |
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 a chamada de retorno é devolvida, cujo único parâmetro é do tipo Office.AsyncResult.
Retornos
void
Comentários
Conjunto de requisitos: Ficheiro
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 chamada de retorno transmitida para o método closeAsync, pode utilizar as propriedades do objeto AsyncResult para devolver as seguintes informações.
Propriedade | Usar |
---|---|
AsyncResult.value | Devolve undefined sempre porque não existe nenhum objeto ou dados a obter. |
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 que seja devolvido 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 a chamada de retorno é devolvida, cujo único parâmetro é do tipo Office.AsyncResult. A value
propriedade do resultado é o objeto Office.Slice .
Retornos
void
Comentários
Conjunto de requisitos: Ficheiro
Na função de chamada de retorno transmitida para o método getSliceAsync, pode utilizar as propriedades do objeto AsyncResult para devolver as seguintes informações.
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 que seja devolvido 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
});
});
}