Copiar planilhas do Excel em C#

Em certos casos, pode ser necessário copiar planilhas em uma pasta de trabalho do Excel ou de uma pasta de trabalho para outra. Por outro lado, mover planilhas para alterar sua posição dentro de uma pasta de trabalho também é necessário em diferentes cenários. Para executar as tarefas acima mencionadas programaticamente, este artigo mostra como copiar planilhas do Excel em pastas de trabalho usando C#. Além disso, também aborda como alterar a posição de uma planilha em uma pasta de trabalho do Excel.

API C# para copiar planilhas do Excel

Para copiar planilhas em arquivos do Excel, aproveitaremos os poderosos recursos de manipulação de planilhas do Aspose.Cells for .NET. A API fornece uma ampla variedade de recursos para gerar e processar arquivos Excel a partir de seus aplicativos .NET. Você pode baixar os binários da API ou instalá-la usando NuGet.

PM> Install-Package Aspose.Cells

Copiar planilhas do Excel usando C#

A seguir estão as etapas para copiar uma planilha do Excel em uma pasta de trabalho usando C#.

O exemplo de código a seguir mostra como copiar uma planilha do Excel em uma pasta de trabalho.

// Abra um arquivo Excel existente
Workbook wb = new Workbook("workbook.xlsx");

// Crie um objeto WorksheetCollection com referência às planilhas da pasta de trabalho
WorksheetCollection sheets = wb.Worksheets;

// Copiar dados para uma nova planilha de uma planilha existente na pasta de trabalho
sheets.AddCopy("Sheet1");

// Salve o arquivo Excel
wb.Save("CopyWithinWorkbook.xlsx");

Copiar planilhas do Excel de uma pasta de trabalho para outra

Agora, vamos dar uma olhada em como copiar uma planilha de uma pasta de trabalho do Excel para outra. A seguir estão as etapas para realizar esta operação.

O exemplo de código a seguir mostra como copiar uma planilha de uma pasta de trabalho para outra em C#.

// Arquivo Excel de código aberto
Workbook sourceWorkbook = new Workbook("source.xlsx");

// Abrir arquivo Excel de destino
Workbook destinationWorkbook = new Workbook("destination.xlsx");

// Copie a primeira planilha da pasta de trabalho de origem na pasta de trabalho de destino
destinationWorkbook.Worksheets[0].Copy(sourceWorkbook.Worksheets[0]);

// Salve o arquivo Excel
destinationWorkbook.Save("copy-worksheets.xlsx");

Mover planilha de uma posição para outra em c#

Pode ser o caso de você precisar reorganizar as posições das planilhas em uma pasta de trabalho. Você pode fazer isso movendo as planilhas para as posições desejadas especificando o índice. A seguir estão as etapas para mover uma planilha do Excel de uma posição para outra.

O exemplo de código a seguir mostra como mover uma planilha do Excel de uma posição para outra usando C#.

// Abra um arquivo do Excel existente
Workbook wb = new Workbook("workbook.xlsx");

// Crie um objeto WorksheetCollection com referência às planilhas da pasta de trabalho
WorksheetCollection sheets = wb.Worksheets;

// Pegue a primeira planilha.
Worksheet worksheet = sheets[0];

// Mova a primeira planilha para a terceira posição na pasta de trabalho
worksheet.MoveTo(2);

// Salve o arquivo Excel
wb.Save("move-worksheet.xlsx");

Obtenha uma licença de API gratuita

Você pode experimentar e avaliar o Aspose.Cells para .NET gratuitamente solicitando uma licença temporária.

Conclusão

Neste artigo, você aprendeu como copiar planilhas do Excel em uma pasta de trabalho ou de uma pasta de trabalho para outra usando C#. Além disso, você viu como mover uma planilha do Excel de uma posição para outra dentro de uma pasta de trabalho. Você pode explorar outros recursos do Aspose.Cells para .NET usando a documentação. Caso você tenha alguma dúvida, sinta-se à vontade para postar em nosso fórum.

Veja também