Excel copy function enables you to not only copy worksheets within Excel workbook but also copy worksheets between different Excel workbooks. This article will introduce solutions to copy worksheets within one Excel workbook and among different workbooks via Spire.XLS for .NET in C#, VB.NET. Besides, all the cell formats in the original Excel worksheets will be completely remained.
Install Spire.XLS for .NET
To begin with, you need to add the DLL files included in the Spire.XLS for .NET package as references in your .NET project. The DLLs files can be either downloaded from this link or installed via NuGet.
- Package Manager
PM> Install-Package Spire.XLS
Copy Excel Worksheets within Excel Workbook
The following are the steps to duplicate worksheets within an Excel workbook.
- Initialize an instance of Workbook class.
- Load an Excel file using Workbook.LoadFromFile() method.
- Add a new blank sheet to the workbook using WorksheetCollection.Add() method.
- Copy the original worksheet to the new sheet using Worksheet.CopyFrom() method.
- Use Workbook.SaveToFile() method to save the changes to another file.
- 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

Copy Excel Worksheets between Excel Workbooks
The following are the steps to duplicate worksheets within an Excel workbook.
- Initialize an instance of Workbook class.
- Load an Excel file using Workbook.LoadFromFile() method.
- Get the first worksheet.
- Load another Excel sample document
- Add a new blank sheet to the second workbook using WorksheetCollection.Add() method.
- Copy the original worksheet to the new sheet using Worksheet.CopyFrom() method.
- Use Workbook.SaveToFile() method to save the changes to another file.
- 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

Apply for a Temporary License
If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.
