智能追踪!新版Excel处理控件Aspose.Cells帮你追踪图像渲染中的转换进度

烈酒焚心 提交于 2019-11-25 21:01:52

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;          }      }  }

控制台输出:

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!