Tieni traccia dell'avanzamento della conversione del documento

Possibili scenari di utilizzo

A volte la conversione di file Excel di grandi dimensioni può richiedere del tempo. Durante questo periodo, potresti voler mostrare l’avanzamento della conversione del documento anziché solo una schermata di caricamento per migliorare l’usabilità della tua applicazione. Aspose.Cells supporta il processo di conversione del documento di monitoraggio fornendo il file**IPageSavingCallback** interfaccia. Il**IPageSavingCallback**fornisce l’interfaccia**PageStartSaving**e**PageEndSaving**metodi che puoi implementare nella tua classe personalizzata. Puoi anche controllare quali pagine vengono rese come mostrato nel T*estPageSavingCallback*classe personalizzata.

Tieni traccia dell’avanzamento della conversione del documento

L’esempio di codice seguente carica il filefile excel di origine e stampa l’avanzamento della conversione nella console utilizzando il fileTestPageSavingCallback classe personalizzata che implementa il**IPageSavingCallback**interfaccia.

Codice d’esempio

// 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 + "PagesBook1.xlsx");
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
pdfSaveOptions.PageSavingCallback = new TestPageSavingCallback();
workbook.Save(outputDir + "DocumentConversionProgress.pdf", pdfSaveOptions);

Quello che segue è il codice per ilTestPageSavingCallbackclasse personalizzata.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
public class TestPageSavingCallback : 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;
}
}
}

Uscita console

Inizia a salvare l’indice della pagina 0 delle pagine 11
Terminare il salvataggio dell’indice 0 delle pagine 11
Inizia a salvare l’indice della pagina 1 delle pagine 11
Terminare il salvataggio dell’indice 1 delle pagine 11
Inizia a salvare l’indice della pagina 2 delle pagine 11
Terminare il salvataggio dell’indice 2 delle pagine 11
Inizia a salvare l’indice della pagina 3 delle pagine 11
Terminare il salvataggio dell’indice 3 delle pagine 11
Inizia a salvare l’indice della pagina 4 delle pagine 11
Terminare il salvataggio dell’indice 4 delle pagine 11
Inizia a salvare l’indice della pagina 5 delle pagine 11
Terminare il salvataggio dell’indice 5 delle pagine 11
Inizia a salvare l’indice della pagina 6 delle pagine 11
Terminare il salvataggio dell’indice 6 delle pagine 11
Inizia a salvare l’indice della pagina 7 delle pagine 11
Terminare il salvataggio dell’indice 7 delle pagine 11
Inizia a salvare l’indice della pagina 8 delle pagine 11
Terminare il salvataggio dell’indice 8 delle pagine 11