Práce s vícelistovými tabulkami
Úvod
Pokud potřebujete uložit každý list Excelu jako samostatný soubor, GroupDocs.Editor pro .NET to usnadňuje. Ať už extrahujete finanční zprávy, vytváříte listy podle oddělení nebo převádíte listy do PDF, tento tutoriál vás provede celým pracovním postupem – od nastavení prostředí až po uvolnění prostředků – takže můžete s jistotou automatizovat práci s více listy.
Rychlé odpovědi
- Může GroupDocs.Editor rozdělit soubor XLSX na samostatné soubory? Ano, můžete načíst sešit a exportovat každý list samostatně.
- Do jakých formátů lze každý list uložit? XLSX, CSV, PDF, HTML a další – podporuje se více než 30 výstupních formátů.
- Potřebuji pro tuto funkci licenci? Dočasná licence stačí pro testování; pro produkční použití je vyžadována plná licence.
- Je podporován .NET Core? Ano – knihovna funguje s .NET Framework 4.0+ a .NET Core/5/6+.
- Kolik listů lze zpracovat najednou? GroupDocs.Editor dokáže zpracovat sešity s více než 500 listy, aniž by načítal celý soubor do paměti.
Co znamená „uložit každý list Excelu“?
„Uložit každý list Excelu“ znamená extrahovat každý list z vícelistového sešitu a zapsat jej do samostatného dokumentu (např. oddělené soubory XLSX nebo PDF). Tento přístup zjednodušuje následné zpracování, reportování a distribuci tím, že vám poskytne soubor pro každý list, který lze následně sdílet, archivovat nebo dále transformovat nezávisle.
Proč použít GroupDocs.Editor pro tento úkol?
GroupDocs.Editor podporuje více než 30 vstupních a výstupních formátů a může zpracovávat tabulky s až 1 000 listy, přičemž udržuje nízkou spotřebu paměti díky streamování dat místo načítání celého souboru. API také zachovává styly buněk, vzorce a vložené obrázky, což zajišťuje, že každý exportovaný list vypadá identicky jako originál.
Požadavky
Než začnete, ověřte, že máte:
- Visual Studio – jakékoli nedávné vydání (Community, Professional nebo Enterprise).
- .NET Framework 4.0+ – nebo .NET Core/5/6, pokud dáváte přednost multiplatformnímu runtime.
- GroupDocs.Editor for .NET – stáhněte jej ze stránky ke stažení.
- Licence – dočasná licence stačí pro testování; pro produkční použití zakupte plnou licenci.
- Bezplatná zkušební verze – můžete také vyzkoušet knihovnu na stránce bezplatná zkušební verze.
- Podpora – pokud narazíte na problémy, navštivte fórum podpory nebo zvažte stránku nákupu pro plnou licenci.
Importovat jmenné prostory
Než začneme kódovat, musíte importovat potřebné jmenné prostory. Přidejte následující using direktivy na začátek vašeho souboru .cs:
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;
Jak uložit každý list Excelu jako samostatný soubor?
Načtěte sešit, vytvořte EditableDocument pro každý list a zavolejte Save s požadovaným formátem. Tento proces izoluje každý list, umožní vám zvolit odlišnou výstupní cestu a automaticky uvolní prostředky. Níže je krok za krokem workflow, který budete následovat, s vysvětlením každého volání API a tipy na osvědčené postupy, jak se vyhnout běžným úskalím.
Krok 1: Získat cestu k vstupnímu souboru
Nejprve zadejte úplnou cestu ke zdrojovému souboru XLSX, který obsahuje více listů.
string inputFilePath = "Your Sample Document";
Krok 2: Načíst tabulku do instance Editoru
Třída Editor je vstupním bodem pro všechny operace s dokumenty v GroupDocs.Editor. Načte stream souboru a připraví dokument pro úpravy nebo extrakci.
using (FileStream inputStream = File.OpenRead(inputFilePath))
{
using (Editor editor = new Editor(delegate { return inputStream; }, delegate { return new SpreadsheetLoadOptions(); }))
{
// Further steps will go here
}
}
Krok 3: Vytvořit EditableDocument z prvního listu
EditableDocument představuje jeden, editovatelný list v sešitu. Konstruktor přijímá instanci Editor a index listu počítaný od nuly.
SpreadsheetEditOptions editOptions1 = new SpreadsheetEditOptions();
editOptions1.WorksheetIndex = 0; // First tab
EditableDocument firstTabBeforeEdit = editor.Edit(editOptions1);
Krok 4: Vytvořit EditableDocument ze druhého listu
Stejný vzor můžete opakovat pro jakýkoli další list změnou hodnoty indexu.
SpreadsheetEditOptions editOptions2 = new SpreadsheetEditOptions();
editOptions2.WorksheetIndex = 1; // Second tab
EditableDocument secondTabBeforeEdit = editor.Edit(editOptions2);
Krok 5: Uložit první list do samostatného dokumentu
Save zapíše upravený dokument do souboru ve specifikovaném formátu. Zavolejte jej na instanci EditableDocument a zadejte výstupní cestu a formát (např. SaveFormat.Xlsx).
SpreadsheetSaveOptions saveOptions1 = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsm);
string outputFilename1 = Path.GetFileNameWithoutExtension(inputFilePath) + "_tab1.xlsm";
string outputPath1 = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), outputFilename1);
editor.Save(firstTabBeforeEdit, outputPath1, saveOptions1);
Krok 6: Uložit druhý list do samostatného dokumentu
Stejné volání Save funguje i pro druhý list a můžete zvolit jiný formát, například PDF, pokud je potřeba.
SpreadsheetSaveOptions saveOptions2 = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsb);
string outputFilename2 = Path.GetFileNameWithoutExtension(inputFilePath) + "_tab2.xlsb";
string outputPath2 = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), outputFilename2);
editor.Save(secondTabBeforeEdit, outputPath2, saveOptions2);
Krok 7: Uvolnit instance EditableDocument
Dispose uvolní neřízené prostředky držené dokumentem, jako jsou souborové handly, a zajistí, že v dlouhodobě běžících službách nedojde k únikům.
firstTabBeforeEdit.Dispose();
secondTabBeforeEdit.Dispose();
Časté problémy a řešení
- Chyby „Soubor je uzamčen“ – Ujistěte se, že voláte
Dispose()na každémEditableDocumenta na instanciEditor, nebo je obalte dousingbloků. - Chybějící styly po exportu – Ověřte, že ukládáte do formátu, který podporuje stylování (např. XLSX nebo PDF). CSV formát ztrácí formátování záměrně.
- Velké sešity způsobují pomalý výkon – Použijte možnosti načítání se streamováním (
LoadOptions.Streaming = true), aby byla spotřeba paměti nízká.
Často kladené otázky
Otázka: Co když můj sešit obsahuje skryté listy?
Odpověď: Skryté listy jsou zpracovány jako jakýkoli jiný list; můžete k nim přistupovat podle indexu a uložit je, ale možná budete muset před uložením nastavit EditableDocument.IsVisible = true, pokud chcete, aby byly ve výstupu viditelné.
Otázka: Mohu převést list Excelu přímo do PDF?
Odpověď: Ano, při volání Save na EditableDocument specifikujte SaveFormat.Pdf. Knihovna během konverze zachovává rozvržení, obrázky a grafy.
Otázka: Je možné rozdělit sešit na CSV soubory místo XLSX?
Odpověď: Rozhodně. Pro každý EditableDocument použijte SaveFormat.Csv a získáte čistý textový CSV reprezentaci každého listu.
Otázka: Podporuje GroupDocs.Editor soubory Excel chráněné heslem?
Odpověď: Ano. Při vytváření instance Editor poskytněte heslo pomocí LoadOptions.Password.
Otázka: Kde najdu další příklady práce s tabulkami?
Odpověď: Oficiální dokumentace a ukázkové projekty na stránce ke stažení obsahují další případy použití.
Závěr
Postupováním podle těchto kroků můžete uložit každý list Excelu jako nezávislý dokument, převést listy do PDF nebo rozdělit velké sešity na přehledné části – vše s spolehlivou, vysoce výkonnou knihovnou GroupDocs.Editor pro .NET. Tato schopnost zjednodušuje reportingové pipeline, automatizuje extrakci dat a snižuje ruční manipulaci s tabulkami.
Poslední aktualizace: 2026-06-06
Testováno s: GroupDocs.Editor 23.11 pro .NET
Autor: GroupDocs