V některých případech může být nutné zkopírovat listy v sešitu aplikace Excel nebo z jednoho sešitu do druhého. Na druhou stranu je v různých scénářích také vyžadováno přesouvání listů za účelem změny jejich pozice v sešitu. Aby bylo možné výše uvedené úkoly provádět programově, tento článek ukazuje, jak kopírovat listy aplikace Excel v C#. Dále také popisuje, jak změnit pozici listu v sešitu aplikace Excel.
- C# API pro kopírování excelových pracovních listů – ke stažení zdarma
- Kopírovat sešity Excel v C#
- Zkopírujte listy z jednoho sešitu do druhého
- Přesuňte listy z jedné pozice na druhou
- Získejte bezplatnou licenci API
C# API pro kopírování Excel Worksheets – bezplatné stažení
Aby bylo možné kopírovat listy v souborech aplikace Excel, využijeme výkonné možnosti manipulace s tabulkami Aspose.Cells for .NET. Rozhraní API vám poskytuje širokou škálu funkcí pro generování a zpracování souborů Excel z vašich aplikací .NET. Binární soubory API si můžete stáhnout nebo je nainstalovat pomocí NuGet.
PM> Install-Package Aspose.Cells
Kopírovat sešity Excel v C#
Níže jsou uvedeny kroky ke zkopírování listu do sešitu aplikace Excel pomocí jazyka C#.
- Načtěte soubor Excel pomocí třídy Sešit.
- Načtěte listy v objektu WorksheetCollection z vlastnosti Workbook.Worksheets.
- Pomocí metody WorksheetCollection.AddCopy(string) zkopírujte list zadáním jeho názvu.
- Uložte aktualizovaný sešit pomocí metody Workbook.Save(string).
Následující ukázka kódu C# ukazuje, jak zkopírovat list aplikace Excel v sešitu.
// Otevřete existující soubor aplikace Excel
Workbook wb = new Workbook("workbook.xlsx");
// Vytvořte objekt WorksheetCollection s odkazem na listy sešitu
WorksheetCollection sheets = wb.Worksheets;
// Zkopírujte data do nového listu z existujícího listu v sešitu
sheets.AddCopy("Sheet1");
// Uložte soubor Excel
wb.Save("CopyWithinWorkbook.xlsx");
C#: Kopírování listů aplikace Excel z jednoho sešitu do druhého
Nyní se podívejme, jak zkopírovat list z jednoho sešitu aplikace Excel do druhého. Následují kroky k provedení této operace.
- Vytvořte objekt třídy Sešit a načtěte zdrojový soubor Excel.
- Vytvořte další objekt třídy Sešit a načtěte cílový soubor Excel.
- Zkopírujte list ze zdrojového do cílového sešitu pomocí metody destinationWorkbook.Worksheets[int].Copy(sourceWorkbook.Worksheets[int]).
- Uložte cílový sešit pomocí metody Workbook.Save(string).
Následující ukázka kódu ukazuje, jak zkopírovat list z jednoho sešitu do druhého v C#.
// Otevřete zdrojový soubor Excel
Workbook sourceWorkbook = new Workbook("source.xlsx");
// Otevřete cílový soubor Excel
Workbook destinationWorkbook = new Workbook("destination.xlsx");
// Zkopírujte první list zdrojového sešitu do cílového sešitu
destinationWorkbook.Worksheets[0].Copy(sourceWorkbook.Worksheets[0]);
// Uložte soubor aplikace Excel
destinationWorkbook.Save("copy-worksheets.xlsx");
Přesunout pozici listu Excelu v C#
Může nastat případ, kdy potřebujete změnit uspořádání pozic listů v sešitu. Můžete to udělat přesunutím listů na požadované pozice zadáním indexu. Níže jsou uvedeny kroky k přesunutí listu aplikace Excel z jedné pozice na druhou.
- Načtěte soubor Excel pomocí třídy Sešit.
- Načtěte listy v objektu WorksheetCollection pomocí vlastnosti Workbook.Worksheets.
- Přístup k požadovanému listu z kolekce listů do objektu Worksheet.
- Pomocí metody Worksheet.MoveTo(int) přesunete list do zadaného indexu.
- Uložte aktualizovaný sešit pomocí metody Workbook.Save(string).
Následující ukázka kódu ukazuje, jak přesunout list aplikace Excel z jedné pozice na druhou pomocí C#.
// Otevřete existující soubor aplikace Excel
Workbook wb = new Workbook("workbook.xlsx");
// Vytvořte objekt WorksheetCollection s odkazem na listy sešitu
WorksheetCollection sheets = wb.Worksheets;
// Získejte první pracovní list.
Worksheet worksheet = sheets[0];
// Přesuňte první list na třetí pozici v sešitu
worksheet.MoveTo(2);
// Uložte soubor Excel
wb.Save("move-worksheet.xlsx");
C# API pro kopírování excelových listů – získejte bezplatnou licenci
Aspose.Cells for .NET můžete vyzkoušet a vyhodnotit zdarma, když požádáte o dočasnou licenci.
Závěr
V tomto článku jste se naučili kopírovat listy aplikace Excel v rámci sešitu nebo z jednoho sešitu do druhého pomocí C#. Dále jste viděli, jak přesunout list aplikace Excel z jedné pozice na druhou v sešitu. Další funkce Aspose.Cells for .NET můžete prozkoumat pomocí dokumentace. V případě, že byste měli nějaké dotazy, neváhejte napsat na naše fórum.