In bestimmten Fällen müssen Sie möglicherweise Arbeitsblätter innerhalb einer Excel Arbeitsmappe oder von einer Arbeitsmappe in eine andere kopieren. Andererseits ist es in verschiedenen Szenarien auch erforderlich, Arbeitsblätter zu verschieben, um ihre Position innerhalb einer Arbeitsmappe zu ändern. Um die oben genannten Aufgaben programmgesteuert auszuführen, zeigt dieser Artikel, wie Sie Excel-Arbeitsblätter innerhalb von Arbeitsmappen mit C# kopieren. Darüber hinaus wird auch behandelt, wie Sie die Position eines Arbeitsblatts in einer Excel Arbeitsmappe ändern.
- C# API zum Kopieren von Excel Arbeitsblättern
- Kopieren Sie Arbeitsblätter innerhalb einer Excel Arbeitsmappe
- Kopieren Sie Arbeitsblätter von einer Arbeitsmappe in eine andere
- Verschieben Sie Arbeitsblätter von einer Position an eine andere
- Holen Sie sich eine kostenlose API Lizenz
C# API zum Kopieren von Excel Arbeitsblättern
Um Arbeitsblätter in Excel Dateien zu kopieren, nutzen wir die leistungsstarken Tabellenbearbeitungsfunktionen von Aspose.Cells for .NET. Die API bietet Ihnen eine Vielzahl von Funktionen zum Generieren und Verarbeiten von Excel Dateien aus Ihren .NET Anwendungen heraus. Sie können die Binärdateien der API entweder herunterladen oder sie mit NuGet installieren.
PM> Install-Package Aspose.Cells
Kopieren Sie Excel-Arbeitsblätter mit C#
Im Folgenden finden Sie die Schritte zum Kopieren eines Excel-Arbeitsblatts innerhalb einer Arbeitsmappe mit C#.
- Laden Sie die Excel Datei mit der Klasse Workbook.
- Rufen Sie Arbeitsblätter in einem WorksheetCollection objekt aus der Workbook.Worksheets-Eigenschaft ab.
- Verwenden Sie die Methode WorksheetCollection.AddCopy(string), um das Arbeitsblatt zu kopieren, indem Sie seinen Namen angeben.
- Speichern Sie die aktualisierte Arbeitsmappe mit der methode Workbook.Save(string).
Das folgende Codebeispiel zeigt, wie Sie ein Excel-Arbeitsblatt in eine Arbeitsmappe kopieren.
// Öffnen Sie eine vorhandene Excel Datei
Workbook wb = new Workbook("workbook.xlsx");
// Erstellen Sie ein WorksheetCollection objekt mit Verweis auf die Blätter der Arbeitsmappe
WorksheetCollection sheets = wb.Worksheets;
// Kopieren Sie Daten aus einem vorhandenen Blatt in der Arbeitsmappe in ein neues Blatt
sheets.AddCopy("Sheet1");
// Speichern Sie die Excel Datei
wb.Save("CopyWithinWorkbook.xlsx");
Kopieren Sie Excel-Arbeitsblätter von einer Arbeitsmappe in eine andere
Sehen wir uns nun an, wie Sie ein Arbeitsblatt von einer Excel Arbeitsmappe in eine andere kopieren. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.
- Erstellen Sie ein Objekt der Klasse Workbook und laden Sie die Excel quelldatei.
- Erstellen Sie ein weiteres Objekt der Klasse Workbook und laden Sie die Excel-Zieldatei.
- Kopieren Sie das Arbeitsblatt aus der Quell- in die Zielarbeitsmappe mit der methode destinationWorkbook.Worksheets[int].Copy(sourceWorkbook.Worksheets[int]).
- Speichern Sie die Zielarbeitsmappe mit der methode Workbook.Save(string).
Das folgende Codebeispiel zeigt, wie Sie in C# ein Arbeitsblatt von einer Arbeitsmappe in eine andere kopieren.
// Open-Source-Excel Datei
Workbook sourceWorkbook = new Workbook("source.xlsx");
// Ziel-Excel Datei öffnen
Workbook destinationWorkbook = new Workbook("destination.xlsx");
// Kopieren Sie das erste Blatt der Quellarbeitsmappe in die Zielarbeitsmappe
destinationWorkbook.Worksheets[0].Copy(sourceWorkbook.Worksheets[0]);
// Speichern Sie die Excel Datei
destinationWorkbook.Save("copy-worksheets.xlsx");
Arbeitsblatt in C# von einer Position an eine andere verschieben
Es kann vorkommen, dass Sie die Positionen der Arbeitsblätter in einer Arbeitsmappe neu anordnen müssen. Sie können dies tun, indem Sie die Arbeitsblätter an die gewünschten Positionen verschieben, indem Sie den Index angeben. Im Folgenden finden Sie die Schritte zum Verschieben eines Excel-Arbeitsblatts von einer Position an eine andere.
- Laden Sie die Excel Datei mit der Klasse Workbook.
- Rufen Sie Arbeitsblätter in einem WorksheetCollection objekt mithilfe der Workbook.Worksheets-Eigenschaft ab.
- Greifen Sie auf das gewünschte Arbeitsblatt aus der Arbeitsblattsammlung in einem Worksheet objekt zu.
- Verwenden Sie die Methode Worksheet.MoveTo(int), um das Arbeitsblatt zum angegebenen Index zu verschieben.
- Speichern Sie die aktualisierte Arbeitsmappe mit der methode Workbook.Save(string).
Das folgende Codebeispiel zeigt, wie Sie ein Excel-Arbeitsblatt mit C# von einer Position an eine andere verschieben.
// Öffnen Sie eine vorhandene Excel Datei
Workbook wb = new Workbook("workbook.xlsx");
// Erstellen Sie ein WorksheetCollection objekt mit Verweis auf die Blätter der Arbeitsmappe
WorksheetCollection sheets = wb.Worksheets;
// Holen Sie sich das erste Arbeitsblatt.
Worksheet worksheet = sheets[0];
// Verschieben Sie das erste Blatt an die dritte Position in der Arbeitsmappe
worksheet.MoveTo(2);
// Speichern Sie die Excel Datei
wb.Save("move-worksheet.xlsx");
Holen Sie sich eine kostenlose API Lizenz
Sie können Aspose.Cells for .NET kostenlos testen und evaluieren, indem Sie eine temporäre Lizenz anfordern.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie mit C# Excel-Arbeitsblätter innerhalb einer Arbeitsmappe oder von einer Arbeitsmappe in eine andere kopieren. Außerdem haben Sie gesehen, wie Sie ein Excel-Arbeitsblatt innerhalb einer Arbeitsmappe von einer Position an eine andere verschieben. Weitere Funktionen von Aspose.Cells for .NET können Sie in der Dokumentation erkunden. Falls Sie Fragen haben, können Sie diese gerne in unserem Forum posten.