C# Copiar planilhas no Excel

2023-10-31 03:38:43

A função de cópia do Excel permite não apenas copiar planilhas dentro da pasta de trabalho do Excel, mas também copiar planilhas entre diferentes pastas de trabalho do Excel. Este artigo apresentará soluções para copiar planilhas dentro de uma pasta de trabalho do Excel e entre diferentes pastas de trabalho via Spire.XLS for .NET em C#, VB.NET. Além disso, todos os formatos de células nas planilhas originais do Excel permanecerão completamente.

Instale o Spire.XLS for .NET

Para começar, você precisa adicionar os arquivos DLL incluídos no pacote Spire.XLS for .NET como referências em seu projeto .NET. Os arquivos DLLs podem ser baixados deste link ou instalados via NuGet.

  • Package Manager
PM> Install-Package Spire.XLS

Copie planilhas do Excel na pasta de trabalho do Excel

A seguir estão as etapas para duplicar planilhas em uma pasta de trabalho do Excel.

  • Inicialize uma instância da classe Workbook.
  • Carregue um arquivo Excel usando o método Workbook.LoadFromFile().
  • Adicione uma nova planilha em branco à pasta de trabalho usando o método WorksheetCollection.Add().
  • Copie a planilha original para a nova planilha usando o método Worksheet.CopyFrom().
  • Use o método Workbook.SaveToFile() para salvar as alterações em outro arquivo.
  • 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

Copiar planilhas do Excel entre pastas de trabalho do Excel

A seguir estão as etapas para duplicar planilhas em uma pasta de trabalho do Excel.

  • Inicialize uma instância da classe Workbook.
  • Carregue um arquivo Excel usando o método Workbook.LoadFromFile().
  • Obtenha a primeira planilha.
  • Carregue outro documento de amostra do Excel
  • Adicione uma nova planilha em branco à segunda pasta de trabalho usando o método WorksheetCollection.Add().
  • Copie a planilha original para a nova planilha usando o método Worksheet.CopyFrom().
  • Use o método Workbook.SaveToFile() para salvar as alterações em outro arquivo.
  • 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

Solicite uma licença temporária

Se desejar remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também