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

控制台输出:

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

11-25 14:21