您是否須要跟蹤Excel到PDF的轉換以獲取更大的文件? Aspose.Cells能夠知足您的需求!spa
在Aspose.Cells for .NET最新版(點擊下載)中,提供了一種回調事件/機制,能夠通知轉換的進度,須要作的就是實現一個接口並使用Aspose.Cells API編寫代碼。同時Aspose.Cells如今支持將組合圖表從XLS精確優雅地轉換爲XLSX。下面咱們一塊兒來了解一下。設計
假設正在將一個巨大的Excel文件轉換爲PDF,觀看加載屏幕並等待程序完成任務。Aspose.Cells經過提供IPageSavingCallBack接口實現了顯示文檔轉換進度。使用此界面,將可以得到要呈現爲PDF的頁面總數以及PageStartSaving和PageEndSaving方法。這些方法應該在一些自定義類中實現,它將連續提供正在呈現的當前頁碼和總頁數等。使用此自定義類,還能夠設計圖形控件或只是在控制檯上顯示文本以顯示文檔轉換逐頁進度。orm
下面是一個準備好運行的示例以及演示這些方法實現的自定義類示例。只需複製此代碼便可享受新的進度監控功能。blog
//源目錄 string sourceDir = RunExamples.Get_SourceDirectory(); //輸出目錄 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);
下面是TestPageSavingCallback自定義類的代碼。接口
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; } } }
下面是程序的輸出示例:事件
Start saving page index 0 of pages 11 End saving page index 0 of pages 11 Start saving page index 1 of pages 11 End saving page index 1 of pages 11 Start saving page index 2 of pages 11 End saving page index 2 of pages 11 Start saving page index 3 of pages 11 End saving page index 3 of pages 11 Start saving page index 4 of pages 11 End saving page index 4 of pages 11 Start saving page index 5 of pages 11 End saving page index 5 of pages 11 Start saving page index 6 of pages 11 End saving page index 6 of pages 11 Start saving page index 7 of pages 11 End saving page index 7 of pages 11 Start saving page index 8 of pages 11 End saving page index 8 of pages 11
更新前的結果文檔
更新後的結果get
Workbook workbook = new Workbook("SourceExcel.xls"); workbook.Save("outputExcel.xlsx", SaveFormat.Xlsx);