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

控制台输出:

 还想要更多吗?如果您有任何疑问或需求,请随时加入aspose技术交流群(642018183)