Aspose.Cells for .NET(点击下载)是Excel电子表格编程API,可加快电子表格管理和处理任务,同时支持构建具有生成,修改,转换,呈现和打印电子表格功能的跨平台应用程序。
将Excel电子表格转换为图像格式始终是热门话题。有时,您声称此过程花费的时间太长。其他人则抱怨该过程卡在了较大的文件上,因此需要停止该过程。在新版的Aspose.Cells中,引进了一项新功能,允许用户按照需要的方式跟踪从Sheet到图像渲染的转换进度。
有时会注意到当前正在处理的页面,有时以呈现所需的页面,并跳过不需要的页面。接下来,我们用示例来介绍如何使用Aspose.Cells来跟踪图像渲染的转换进度。
有时正在使用大型Excel文件并将其转换为其他格式。有时转换可能会花费很多时间,并且您希望用户知道进度。Aspose.Cells通过提供IPageSavingCallback 接口来支持跟踪文档转换过程 。该 IPageSavingCallback 接口提供 PageStartSaving 和 PageEndSaving 方法,您可以在自定义类中实现。您还可以按照T estPageSavingCallback 定制类中的说明控制呈现哪些页面。
以下代码示例加载 源excel文件 并使用 实现IPageSavingCallback 接口的TestPageSavingCallback定制类 在控制台中打印其转换进度。
//源目录 string sourceDir = RunExamples.Get_SourceDirectory(); //输出目录 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");
以下是TestTiffPageSavingCallback定制类的代码。
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; } } }
控制台输出:
来源:oschina
链接:https://my.oschina.net/u/4087915/blog/3133354