Office.File interface
Representa el archivo de documento asociado a un complemento de Office.
Comentarios
Acceda al objeto File con la propiedad AsyncResult.value en la función de devolución de llamada pasada al método Document.getFileAsync.
Propiedades
size | Obtiene el tamaño del archivo de documento en bytes. |
slice |
Obtiene el número de segmentos en los que está dividido el archivo. |
Métodos
close |
Cierra el archivo de documento. |
get |
Devuelve el segmento especificado. |
Detalles de las propiedades
size
Obtiene el tamaño del archivo de documento en bytes.
size: number;
Valor de propiedad
number
sliceCount
Obtiene el número de segmentos en los que está dividido el archivo.
sliceCount: number;
Valor de propiedad
number
Detalles del método
closeAsync(callback)
Cierra el archivo de documento.
closeAsync(callback?: (result: AsyncResult<void>) => void): void;
Parámetros
- callback
-
(result: Office.AsyncResult<void>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult.
Devoluciones
void
Comentarios
Conjunto de requisitos: Archivo
No se permite que haya más de dos documentos en la memoria; de lo contrario, la operación Document.getFileAsync fallará. Use el método File.closeAsync para cerrar el archivo cuando haya terminado de trabajar con él.
En la función de devolución de llamada que se ha remitido al método closeAsync, puede usar las propiedades del objeto AsyncResult para devolver la siguiente información.
Propiedad | Utilice |
---|---|
AsyncResult.value | Siempre devuelve undefined porque no hay ningún objeto o datos que recuperar. |
AsyncResult.status | Determinar si la operación se ha completado correctamente o no. |
AsyncResult.error | Tener acceso a un objeto Error que proporcione información sobre el error si la operación no se ha llevado a cabo correctamente. |
AsyncResult.asyncContext | Defina un elemento de cualquier tipo que se devuelva en el objeto AsyncResult sin modificarse. |
getSliceAsync(sliceIndex, callback)
Devuelve el segmento especificado.
getSliceAsync(sliceIndex: number, callback?: (result: AsyncResult<Office.Slice>) => void): void;
Parámetros
- sliceIndex
-
number
Especifica el índice de base cero del segmento que hay que recuperar. Obligatorio.
- callback
-
(result: Office.AsyncResult<Office.Slice>) => void
Opcional. Función que se invoca cuando se devuelve la devolución de llamada, cuyo único parámetro es de tipo Office.AsyncResult. La value
propiedad del resultado es el objeto Office.Slice .
Devoluciones
void
Comentarios
Conjunto de requisitos: Archivo
In the callback function passed to the getSliceAsync method, you can use the properties of the AsyncResult object to return the following information.
Propiedad | Utilice |
---|---|
AsyncResult.value | Tener acceso al objeto Slice. |
AsyncResult.status | Determinar si la operación se ha completado correctamente o no. |
AsyncResult.error | Tener acceso a un objeto Error que proporcione información sobre el error si la operación no se ha llevado a cabo correctamente. |
AsyncResult.asyncContext | Defina un elemento de cualquier tipo que se devuelva en el objeto AsyncResult sin modificarse. |
Ejemplos
// 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
});
});
}