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
- Copiar planilhas em uma pasta de trabalho do Excel
- Copiar planilhas de uma pasta de trabalho para outra
- Mover planilhas de uma posição para outra
- Obtenha uma licença de API gratuita
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#.
- Carregue o arquivo Excel usando a classe Workbook.
- Recupere planilhas em um objeto WorksheetCollection da propriedade Workbook.Worksheets.
- Use o método WorksheetCollection.AddCopy(string) para copiar a planilha fornecendo seu nome.
- Salve a pasta de trabalho atualizada usando o método Workbook.Save(string).
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.
- Crie um objeto da classe Workbook e carregue o arquivo Excel de origem.
- Crie outro objeto da classe Workbook e carregue o arquivo Excel de destino.
- Copie a planilha da pasta de trabalho de origem para a de destino usando o método destinationWorkbook.Worksheets[int].Copy(sourceWorkbook.Worksheets[int]).
- Salve a pasta de trabalho de destino usando o método Workbook.Save(string).
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.
- Carregue o arquivo Excel usando a classe Workbook.
- Recupere planilhas em um objeto WorksheetCollection usando a propriedade Workbook.Worksheets.
- Acesse a planilha desejada da coleção de planilhas em um objeto Worksheet.
- Use o método Worksheet.MoveTo(int) para mover a planilha para o índice especificado.
- Salve a pasta de trabalho atualizada usando o método Workbook.Save(string).
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.