Seguimiento del progreso de conversión de Excel a TIFF

Posibles escenarios de uso

A veces, la conversión de archivos de Excel de gran tamaño puede llevar algún tiempo. Durante este tiempo, es posible que desee mostrar el progreso de la conversión del documento en lugar de solo una pantalla de carga para mejorar la usabilidad de su aplicación. Aspose.Cells admite el proceso de conversión de documentos de seguimiento al proporcionar el**IPageSavingCallback** interfaz. Él**IPageSavingCallback**interfaz proporciona**PageStartSaving**y**[Guardar fin de página] (https://reference.aspose.com/cells/net/aspose.cells.rendering/ipagesavingcallback/methods/pageendsaving)**métodos que puede implementar en su clase personalizada. También puede controlar qué páginas se procesan como se muestra en la T*estPageSavingCallback*clase personalizada.

Seguimiento del progreso de conversión de Excel a TIFF

El siguiente ejemplo de código carga elarchivo fuente excel e imprime su progreso de conversión en la consola usando elTestPageSavingCallback clase personalizada que implementa el**IPageSavingCallback**interfaz. El archivo de salida generado se adjunta para su referencia.

Archivo de salida

Código de muestra

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
string outputDir = RunExamples.Get_OutputDirectory();
Workbook workbook = new Workbook(sourceDir + "sampleUseWorkbookRenderForImageConversion.xlsx");
ImageOrPrintOptions opts = new ImageOrPrintOptions();
opts.PageSavingCallback = new TestTiffPageSavingCallback();
opts.ImageType = ImageType.Tiff;
WorkbookRender wr = new WorkbookRender(workbook, opts);
wr.ToImage(outputDir + "DocumentConversionProgressForTiff_out.tiff");

El siguiente es el código para elTestTiffPageSavingCallbackclase personalizada.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
public class TestTiffPageSavingCallback : IPageSavingCallback
{
public void PageStartSaving(PageStartSavingArgs args)
{
Console.WriteLine("Start saving page index {0} of pages {1}", args.PageIndex, args.PageCount);
//don't output pages before page index 2.
if (args.PageIndex < 2)
{
args.IsToOutput = false;
}
}
public void PageEndSaving(PageEndSavingArgs args)
{
Console.WriteLine("End saving page index {0} of pages {1}", args.PageIndex, args.PageCount);
//don't output pages after page index 8.
if (args.PageIndex >= 8)
{
args.HasMorePages = false;
}
}
}

Salida de consola

Empezar a guardar el índice de página 0 de las páginas 10
Terminar de guardar el índice de página 0 de las páginas 10
Empezar a guardar el índice de la página 1 de las páginas 10
Terminar de guardar el índice de página 1 de las páginas 10
Empezar a guardar el índice de la página 2 de las páginas 10
Terminar de guardar el índice de página 2 de las páginas 10
Empezar a guardar el índice de la página 3 de las páginas 10
Terminar de guardar el índice de la página 3 de las páginas 10
Empezar a guardar el índice de la página 4 de las páginas 10
Terminar de guardar el índice de la página 4 de las páginas 10
Comience a guardar el índice de la página 5 de las páginas 10
Terminar de guardar el índice de la página 5 de las páginas 10
Empezar a guardar el índice de la página 6 de las páginas 10
Terminar de guardar el índice de página 6 de las páginas 10
Empezar a guardar el índice de la página 7 de las páginas 10
Terminar de guardar el índice de página 7 de las páginas 10
Empezar a guardar el índice de la página 8 de las páginas 10
Terminar de guardar el índice de la página 8 de las páginas 10