Категория

Копирование листов C# в Excel

2023-10-31 03:37:53

Функция копирования Excel позволяет не только копировать листы внутри книги Excel, но также копировать листы между разными книгами Excel. В этой статье будут представлены решения для копирования листов в одной книге Excel и между разными книгами с помощью Spire.XLS for .NET в C#, VB.NET. Кроме того, все форматы ячеек в исходных листах Excel будут полностью сохранены.

Установите Spire.XLS for .NET

Для начала вам необходимо добавить файлы DLL, включенные в пакет Spire.XLS for .NET , в качестве ссылок в ваш проект .NET. Файлы DLL можно загрузить по этой ссылке или установить через NuGet.

  • Package Manager
PM> Install-Package Spire.XLS

Копирование листов Excel в книгу Excel

Ниже приведены шаги по дублированию листов в книге Excel.

  • Инициализируйте экземпляр класса Workbook.
  • Загрузите файл Excel с помощью метода Workbook.LoadFromFile().
  • Добавьте новый пустой лист в книгу с помощью метода WorksheetCollection.Add().
  • Скопируйте исходный лист на новый лист, используя метод Worksheet.CopyFrom().
  • Используйте метод Workbook.SaveToFile(), чтобы сохранить изменения в другой файл.
  • 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

Копирование листов Excel между книгами Excel

Ниже приведены шаги по дублированию листов в книге Excel.

  • Инициализируйте экземпляр класса Workbook.
  • Загрузите файл Excel с помощью метода Workbook.LoadFromFile().
  • Получите первый рабочий лист.
  • Загрузите еще один образец документа Excel
  • Добавьте новый пустой лист во вторую книгу с помощью метода WorksheetCollection.Add().
  • Скопируйте исходный лист на новый лист, используя метод Worksheet.CopyFrom().
  • Используйте метод Workbook.SaveToFile(), чтобы сохранить изменения в другой файл.
  • 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

Подать заявку на временную лицензию

Если вы хотите удалить сообщение об оценке из сгенерированных документов или избавиться от ограничений функции, пожалуйста запросите 30-дневную пробную лицензию для себя.

Смотрите также