Zastavte převod nebo načítání pomocí sledování přerušení
Zavedení
Práce s velkými soubory aplikace Excel často zahrnuje zdlouhavé procesy, které mohou spotřebovat čas a zdroje. Ale co kdybyste mohli zastavit proces konverze uprostřed cesty, když si uvědomíte, že je třeba něco změnit? Aspose.Cells for .NET má funkci zvanou Monitor přerušení, která umožňuje přerušit převod sešitu do jiného formátu, jako je PDF. To může být záchranou, zejména při práci s velkými datovými soubory. V této příručce si projdeme, jak přerušit proces převodu pomocí nástroje Interrupt Monitor v Aspose.Cells for .NET.
Předpoklady
Před potápěním se ujistěte, že máte na svém místě následující:
- Aspose.Cells for .NET – Stáhněte si jizde.
- Vývojové prostředí .NET – jako je Visual Studio.
- Základní znalost programování v C# – znalost syntaxe C# vám pomůže pokračovat.
Importujte balíčky
Pro začátek naimportujeme potřebné balíčky. Mezi tyto dovozy patří:
- Aspose.Cells: Hlavní knihovna pro manipulaci se soubory Excel.
- System.Threading: Pro správu vláken, protože tento příklad spustí dva paralelní procesy.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
Rozdělme si proces do podrobných kroků. Každý krok vám pomůže pochopit důležitost nastavení a používání Monitoru přerušení pro správu převodu sešitu aplikace Excel.
Krok 1: Vytvořte třídu a nastavte výstupní adresář
Nejprve potřebujeme třídu, která zapouzdří naše funkce, spolu s adresářem, kam bude uložen výstupní soubor.
class StopConversionOrLoadingUsingInterruptMonitor
{
static string outputDir = "Your Document Directory";
}
Nahradit"Your Document Directory"
se skutečnou cestou, kam chcete soubor PDF uložit.
Krok 2: Spusťte funkci Monitor přerušení
Dále vytvořte objekt InterruptMonitor. Tento monitor pomůže řídit proces tím, že nastaví schopnost jej přerušit v jakémkoli daném bodě.
InterruptMonitor im = new InterruptMonitor();
Tento monitor přerušení bude připojen k našemu sešitu, což nám umožní řídit proces převodu.
Krok 3: Nastavte sešit pro převod
Nyní vytvoříme objekt sešitu, přiřadíme mu InterruptMonitor a poté zpřístupníme první list, kde vložíme nějaký ukázkový text.
void CreateWorkbookAndConvertItToPdfFormat()
{
Workbook wb = new Workbook();
wb.InterruptMonitor = im;
Worksheet ws = wb.Worksheets[0];
Cell cell = ws.Cells["J1000000"];
cell.PutValue("This is text.");
}
Výše uvedený kód vytvoří sešit, nastaví pro něj InterruptMonitor a umístí text do vzdálené buňky (J1000000
). Umístěním textu na tuto pozici buňky zajistíte, že zpracování sešitu bude časově náročnější a poskytne InterruptMonitor dostatek času na zásah.
Krok 4: Uložte sešit jako PDF a zpracujte přerušení
Nyní se pokusíme uložit sešit jako PDF. Použijeme atry-catch
blokovat, aby zvládl jakékoli přerušení, které by mohlo nastat.
try
{
wb.Save(outputDir + "output_InterruptMonitor.pdf");
}
catch (Aspose.Cells.CellsException ex)
{
Console.WriteLine("Process Interrupted - Message: " + ex.Message);
}
Pokud je proces přerušen, výjimka jej zachytí a zobrazí příslušnou zprávu. Jinak se sešit uloží jako PDF.
Krok 5: Přerušte proces převodu
Hlavním rysem je zde možnost přerušit proces. Přidáme zpoždění pomocíThread.Sleep
a pak zavolejteInterrupt()
způsob zastavení převodu po 10 sekundách.
void WaitForWhileAndThenInterrupt()
{
Thread.Sleep(1000 * 10);
im.Interrupt();
}
Tato prodleva poskytuje sešitu čas na zahájení převodu do PDF před odesláním signálu přerušení.
Krok 6: Proveďte vlákna současně
Abychom vše spojili, musíme obě funkce spustit v samostatných vláknech. Tímto způsobem může dojít k převodu sešitu a čekání na přerušení současně.
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();
}
Výše uvedený kód běžíCreateWorkbookAndConvertItToPdfFormat
aWaitForWhileAndThenInterrupt
v paralelních vláknech, které se spojí, jakmile oba procesy skončí.
Krok 7: Konečné provedení
Nakonec přidáme aRun()
způsob spuštění kódu.
public static void Run()
{
new StopConversionOrLoadingUsingInterruptMonitor().TestRun();
Console.WriteLine("StopConversionOrLoadingUsingInterruptMonitor executed successfully.");
}
TentoRun
metoda je vstupním bodem pro zahájení a sledování přerušení v akci.
Závěr
V tomto tutoriálu jsme prozkoumali, jak přerušit proces převodu v Aspose.Cells pro .NET. Monitor přerušení je užitečný nástroj při práci s velkými soubory aplikace Excel, který vám umožní zastavit procesy, aniž byste čekali na jejich dokončení. To je užitečné zejména ve scénářích, kde je čas a zdroje cenné a je potřeba rychlá zpětná vazba.
FAQ
Co je to Monitor přerušení v Aspose.Cells pro .NET?
Sledování přerušení umožňuje zastavit převod sešitu nebo proces načítání v jeho průběhu.
Mohu použít Monitor přerušení pro jiné formáty než PDF?
Ano, můžete přerušit i převody do jiných podporovaných formátů.
Jak Thread.Sleep() ovlivňuje načasování přerušení?
Thread.Sleep() vytváří zpoždění před spuštěním přerušení a poskytuje čas na zahájení převodu.
Mohu proces přerušit před 10 sekundami?
Ano, upravit zpoždění vWaitForWhileAndThenInterrupt()
na kratší dobu.
Ovlivní proces přerušení výkon?
Dopad je minimální a je velmi přínosný pro řízení dlouhotrvajících procesů. Další informace naleznete v částiAspose.Cells pro .NET dokumentaci . Pokud potřebujete pomoc, podívejte se naFórum podporynebo získat aBezplatná zkušební verze.