C# Arbeitsblätter in Excel kopieren

2023-10-31 03:36:53 zaki zou

Mit der Excel-Kopierfunktion können Sie nicht nur Arbeitsblätter innerhalb einer Excel-Arbeitsmappe kopieren, sondern auch Arbeitsblätter zwischen verschiedenen Excel-Arbeitsmappen kopieren. In diesem Artikel werden Lösungen zum Kopieren von Arbeitsblättern innerhalb einer Excel-Arbeitsmappe und zwischen verschiedenen Arbeitsmappen über Spire.XLS for .NET in C#, VB.NET vorgestellt. Außerdem bleiben alle Zellformate in den ursprünglichen Excel-Arbeitsblättern vollständig erhalten.

Installieren Sie Spire.XLS for .NET

Zunächst müssen Sie die im Spire.XLS for .NET-Paket enthaltenen DLL-Dateien als Referenzen in Ihrem .NET-Projekt hinzufügen. Die DLLs-Dateien können entweder über diesen Link heruntergeladen oder über NuGet installiert werden.

  • Package Manager
PM> Install-Package Spire.XLS

Kopieren Sie Excel-Arbeitsblätter in eine Excel-Arbeitsmappe

Im Folgenden finden Sie die Schritte zum Duplizieren von Arbeitsblättern in einer Excel-Arbeitsmappe.

  • Initialisieren Sie eine Instanz der Workbook-Klasse.
  • Laden Sie eine Excel-Datei mit der Methode Workbook.LoadFromFile().
  • Fügen Sie der Arbeitsmappe mit der Methode WorksheetCollection.Add() ein neues leeres Blatt hinzu.
  • Kopieren Sie das ursprüngliche Arbeitsblatt mit der Methode Worksheet.CopyFrom() in das neue Blatt.
  • Verwenden Sie die Methode Workbook.SaveToFile(), um die Änderungen in einer anderen Datei zu speichern.
  • C#
  • VB.NET
using Spire.Xls;
    
    namespace CopyExcelworksheet
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Load the sample Excel
                Workbook workbook = new Workbook();
                workbook.LoadFromFile("Sample.xlsx");
    
                //Add worksheet and set its name
                workbook.Worksheets.Add("Sheet1_Copy");
    
               //copy worksheet to the new added worksheets
               workbook.Worksheets[1].CopyFrom(workbook.Worksheets[0]);
    
                //Save the Excel workbook.
                workbook.SaveToFile("Duplicatesheet.xlsx", ExcelVersion.Version2013);
                System.Diagnostics.Process.Start("Duplicatesheet.xlsx");
    
            }
        }
    }
Imports Spire.Xls
    
    Namespace CopyExcelworksheet
    
        Class Program
    
            Private Shared Sub Main(ByVal args() As String)
                'Load the sample Excel
                Dim workbook As Workbook = New Workbook
                workbook.LoadFromFile("Sample.xlsx")
                'Add worksheet and set its name
                workbook.Worksheets.Add("Sheet1_Copy")
                'copy worksheet to the new added worksheets
                workbook.Worksheets(1).CopyFrom(workbook.Worksheets(0))
                'Save the Excel workbook.
                workbook.SaveToFile("Duplicatesheet.xlsx", ExcelVersion.Version2013)
                System.Diagnostics.Process.Start("Duplicatesheet.xlsx")
            End Sub
        End Class
    End Namespace

C#/VB.NET: Copy Worksheets in Excel

Kopieren Sie Excel-Arbeitsblätter zwischen Excel-Arbeitsmappen

Im Folgenden finden Sie die Schritte zum Duplizieren von Arbeitsblättern in einer Excel-Arbeitsmappe.

  • Initialisieren Sie eine Instanz der Workbook-Klasse.
  • Laden Sie eine Excel-Datei mit der Methode Workbook.LoadFromFile().
  • Holen Sie sich das erste Arbeitsblatt.
  • Laden Sie ein weiteres Excel-Beispieldokument
  • Fügen Sie der zweiten Arbeitsmappe mit der Methode WorksheetCollection.Add() ein neues leeres Blatt hinzu.
  • Kopieren Sie das ursprüngliche Arbeitsblatt mit der Methode Worksheet.CopyFrom() in das neue Blatt.
  • Verwenden Sie die Methode Workbook.SaveToFile(), um die Änderungen in einer anderen Datei zu speichern.
  • C#
  • VB.NET
using Spire.Xls;
    
    namespace CopyExcelworksheet
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Load the sample Excel and get the first worksheet
                Workbook workbook = new Workbook();
                workbook.LoadFromFile("Sample.xlsx");
                Worksheet sheet = workbook.Worksheets[0];
                //Load the second Excel workbook
                Workbook workbook2 = new Workbook();
                workbook2.LoadFromFile("New.xlsx");
                //Add a new worksheet and set its name
                Worksheet targetWorksheet = workbook2.Worksheets.Add("added");
                //Copy the original worksheet to the new added worksheets
                targetWorksheet.CopyFrom(sheet);
                //Save the Excel workbook.
                workbook2.SaveToFile("CopySheetBetweenWorkbooks.xlsx", FileFormat.Version2013);
                System.Diagnostics.Process.Start("CopySheetBetweenWorkbooks.xlsx");
    
            }
        }
    }
Imports Spire.Xls
    
    Namespace CopyExcelworksheet
    
        Class Program
    
            Private Shared Sub Main(ByVal args() As String)
                'Load the sample Excel and get the first worksheet
                Dim workbook As Workbook = New Workbook
                workbook.LoadFromFile("Sample.xlsx")
                Dim sheet As Worksheet = workbook.Worksheets(0)
                'Load the second Excel workbook
                Dim workbook2 As Workbook = New Workbook
                workbook2.LoadFromFile("New.xlsx")
                'Add a new worksheet and set its name
                Dim targetWorksheet As Worksheet = workbook2.Worksheets.Add("added")
                'Copy the original worksheet to the new added worksheets
                targetWorksheet.CopyFrom(sheet)
                'Save the Excel workbook.
                workbook2.SaveToFile("CopySheetBetweenWorkbooks.xlsx", FileFormat.Version2013)
                System.Diagnostics.Process.Start("CopySheetBetweenWorkbooks.xlsx")
            End Sub
        End Class
    End Namespace

C#/VB.NET: Copy Worksheets in Excel

Beantragen Sie eine temporäre Lizenz

Wenn Sie die Bewertungsmeldung aus den generierten Dokumenten entfernen oder die Funktionseinschränkungen beseitigen möchten, wenden Sie sich bitte an uns Fordern Sie eine 30-Tage-Testlizenz an für sich selbst.

Siehe auch