Excel の変換の進行状況を TIFF に追跡する

考えられる使用シナリオ

大きな Excel ファイルの変換には時間がかかる場合があります。この間、ロード画面だけでなく、ドキュメント変換の進行状況を表示して、アプリケーションの使いやすさを向上させたい場合があります。 Aspose.Cells は、ドキュメント変換プロセスの追跡をサポートします。**[IPageSavingCallback](https://reference.aspose.com/cells/net/aspose.cells.rendering/ipage Savingcallback)インターフェース。の[IPageSavingCallback](https://reference.aspose.com/cells/net/aspose.cells.rendering/ipage Savingcallback)インターフェイスが提供する[PageStartSaving](https://reference.aspose.com/cells/net/aspose.cells.rendering/ipage Savingcallback/methods/pagestart Saving)[PageEndSaving](https://reference.aspose.com/cells/net/aspose.cells.rendering/ipage Savingcallback/methods/pageend Saving)**カスタム クラスに実装できるメソッド。 T で示されているように、どのページをレンダリングするかを制御することもできます。estPageSavingCallbackカスタムクラス。

Excel の変換の進行状況を TIFF に追跡する

次のコード サンプルは、ソースエクセルファイルを使用して、変換の進行状況をコンソールに出力します。TestPageSavingCallbackを実装するカスタムクラス**[IPageSavingCallback](https://reference.aspose.com/cells/net/aspose.cells.rendering/ipage Savingcallback)**インターフェース。参照用に、生成された出力ファイルを添付します。

出力ファイル

サンプルコード

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
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カスタムクラス。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
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;
}
}
}

コンソール出力

ページ 10 のページ インデックス 0 の保存を開始します
ページ 10 のページ インデックス 0 の保存を終了します
ページ 10 のページ インデックス 1 の保存を開始します
10 ページ中のページ インデックス 1 の保存を終了
ページ 10 のページ インデックス 2 の保存を開始します
ページ 10 のページ インデックス 2 の保存を終了します
10 ページのページ インデックス 3 の保存を開始します
ページ 10 のページ インデックス 3 の保存を終了します
ページ 10 のページ インデックス 4 の保存を開始します
ページ 10 のページ インデックス 4 の保存を終了します
ページ 10 のページ インデックス 5 の保存を開始します
ページ 10 のページ インデックス 5 の保存を終了します
ページ 10 のページ インデックス 6 の保存を開始します
ページ 10 のページ インデックス 6 の保存を終了します
ページ 10 のページ インデックス 7 の保存を開始します
ページ 10 のページ インデックス 7 の保存を終了します
ページ 10 のページ インデックス 8 の保存を開始します
ページ 10 のページ インデックス 8 の保存を終了します