Állítsa le az átalakítást vagy a betöltést az Interrupt Monitor segítségével

Bevezetés

nagy Excel-fájlok kezelése gyakran hosszadalmas folyamatokat igényel, amelyek időt és erőforrásokat fogyaszthatnak. De mi van, ha félúton leállíthatná az átalakítási folyamatot, amikor rájön, hogy valamin változtatni kell? Az Aspose.Cells for .NET rendelkezik egy Interrupt Monitor nevű funkcióval, amely lehetővé teszi a munkafüzet más formátumba, például PDF-formátumba való konvertálásának megszakítását. Ez életmentő lehet, különösen akkor, ha jelentős adatfájlokkal dolgozik. Ebben az útmutatóban végigvezetjük az átalakítási folyamat megszakítását az Aspose.Cells for .NET Megszakításfigyelő segítségével.

Előfeltételek

Búvárkodás előtt győződjön meg arról, hogy a következők vannak a helyükön:

  1. Aspose.Cells for .NET – Töltse leitt.
  2. .NET fejlesztői környezet – például a Visual Studio.
  3. A C# programozás alapismeretei – A C# szintaxis ismerete segít a követésben.

Csomagok importálása

Kezdésként importáljuk a szükséges csomagokat. Ezek az importok a következőket tartalmazzák:

  • Aspose.Cells: Az Excel-fájlok kezelésének fő könyvtára.
  • System.Threading: Szálak kezelésére, mivel ez a példa két párhuzamos folyamatot fog futtatni.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;

Bontsuk le a folyamatot részletes lépésekre. Minden lépés segít megérteni a Megszakításfigyelő beállításának és használatának fontosságát az Excel-munkafüzet-konverzió kezeléséhez.

1. lépés: Hozzon létre egy osztályt és állítsa be a kimeneti könyvtárat

Először is szükségünk van egy osztályra a funkcióink beágyazásához, valamint egy könyvtárra, ahová a kimeneti fájl mentésre kerül.

class StopConversionOrLoadingUsingInterruptMonitor
{
    static string outputDir = "Your Document Directory";
}

Cserélje ki"Your Document Directory" azzal a tényleges elérési úttal, ahová a PDF-fájlt menteni szeretné.

2. lépés: Példányosítsa az Interrupt Monitort

Ezután hozzon létre egy InterruptMonitor objektumot. Ez a monitor segít a folyamat szabályozásában azáltal, hogy beállítja a képességet, hogy megszakítsa azt egy adott ponton.

InterruptMonitor im = new InterruptMonitor();

Ez a megszakításfigyelő a munkafüzetünkhöz lesz csatolva, lehetővé téve az átalakítási folyamat kezelését.

3. lépés: Állítsa be a munkafüzetet az átalakításhoz

Most hozzunk létre egy munkafüzet objektumot, rendeljük hozzá az InterruptMonitort, majd nyissa meg az első munkalapot, hogy beillesszen néhány minta szöveget.

void CreateWorkbookAndConvertItToPdfFormat()
{
    Workbook wb = new Workbook();
    wb.InterruptMonitor = im;
    Worksheet ws = wb.Worksheets[0];
    Cell cell = ws.Cells["J1000000"];
    cell.PutValue("This is text.");
}

A fenti kód létrehoz egy munkafüzetet, beállítja az InterruptMonitor-t, és szöveget helyez el egy távoli cellába (J1000000). Ha szöveget helyez el erre a cellapozícióra, akkor a munkafüzet feldolgozása időigényesebb lesz, így az InterruptMonitornak elegendő ideje van a beavatkozáshoz.

4. lépés: Mentse el a munkafüzetet PDF formátumban, és kezelje a megszakítást

Most próbáljuk meg elmenteni a munkafüzetet PDF formátumban. Használjuk atry-catch blokkot az esetlegesen előforduló megszakítások kezelésére.

try
{
    wb.Save(outputDir + "output_InterruptMonitor.pdf");
}
catch (Aspose.Cells.CellsException ex)
{
    Console.WriteLine("Process Interrupted - Message: " + ex.Message);
}

Ha a folyamat megszakad, a kivétel elkapja és megfelelő üzenetet jelenít meg. Ellenkező esetben a munkafüzet PDF formátumban kerül mentésre.

5. lépés: Szakítsa meg az átalakítási folyamatot

A fő jellemző itt a folyamat megszakításának képessége. Használatával késleltetést adunk hozzáThread.Sleep majd hívja aInterrupt() módszert az átalakítás leállítására 10 másodperc után.

void WaitForWhileAndThenInterrupt()
{
    Thread.Sleep(1000 * 10);
    im.Interrupt();
}

Ez a késleltetés időt ad a munkafüzetnek arra, hogy megkezdje a PDF-be való konvertálást, mielőtt a megszakítási jelet elküldi.

6. lépés: Végezze el a szálakat egyszerre

Ahhoz, hogy mindent összehozzunk, mindkét funkciót külön szálban kell elindítanunk. Így a munkafüzet átalakítása és a megszakítási várakozás egyszerre történhet meg.

public void TestRun()
{
    ThreadStart ts1 = new ThreadStart(this.CreateWorkbookAndConvertItToPdfFormat);
    Thread t1 = new Thread(ts1);
    t1.Start();
    ThreadStart ts2 = new ThreadStart(this.WaitForWhileAndThenInterrupt);
    Thread t2 = new Thread(ts2);
    t2.Start();
    t1.Join();
    t2.Join();
}

A fenti kód futCreateWorkbookAndConvertItToPdfFormat ésWaitForWhileAndThenInterrupt párhuzamos szálakban, összekapcsolva őket, miután mindkét folyamat befejeződött.

7. lépés: Végső végrehajtás

Végül hozzáadjuk aRun() módszer a kód végrehajtására.

public static void Run()
{
    new StopConversionOrLoadingUsingInterruptMonitor().TestRun();
    Console.WriteLine("StopConversionOrLoadingUsingInterruptMonitor executed successfully.");
}

EzRun metódus a belépési pont a megszakítás elindításához és megfigyeléséhez.

Következtetés

Ebben az oktatóanyagban megvizsgáltuk, hogyan szakíthatjuk meg az Aspose.Cells for .NET konverziós folyamatát. Az Interrupt Monitor egy hasznos eszköz a nagy Excel-fájlok használatakor, és lehetővé teszi a folyamatok leállítását anélkül, hogy megvárná azok befejezését. Ez különösen hasznos olyan esetekben, amikor az idő és az erőforrások értékesek, és gyors visszajelzésre van szükség.

GYIK

Mi az a megszakításfigyelő az Aspose.Cells for .NET-ben?

Az Interrupt Monitor segítségével leállíthatja a munkafüzet átalakítását vagy betöltési folyamatát.

Használhatom az Interrupt Monitort a PDF-en kívül más formátumokhoz is?

Igen, megszakíthatja a konvertálást más támogatott formátumokba is.

Hogyan befolyásolja a Thread.Sleep() a megszakítási időzítést?

A Thread.Sleep() késleltetést hoz létre a megszakítás elindítása előtt, így időt adva az átalakítás megkezdésére.

Megszakíthatom a folyamatot 10 másodperc előtt?

Igen, módosítsa a késleltetéstWaitForWhileAndThenInterrupt() rövidebb időre.

A megszakítási folyamat hatással lesz a teljesítményre?

A hatás minimális, és nagyon előnyös a hosszú távú folyamatok kezelésében. További információkért tekintse meg aAspose.Cells a .NET-dokumentációhoz . Ha segítségre van szüksége, nézze meg aTámogatási fórumvagy kap aIngyenes próbaverzió.