Copiar planilha entre pastas de trabalho do Excel usando Aspose.Cells

Introdução

Transferir dados entre planilhas do Excel é uma tarefa comum em aplicativos .NET, especialmente para gerar relatórios ou gerenciar modelos. Felizmente, usar o Aspose.Cells para .NET torna esse processo direto e eficiente. Neste tutorial, guiaremos você pelas etapas para copiar uma planilha de uma planilha para outra, fornecendo a você um controle poderoso sobre seu gerenciamento de dados.

Pré-requisitos

Antes de começar, certifique-se de ter as seguintes ferramentas:

  1. Biblioteca Aspose.Cells para .NET: Baixe a bibliotecaaqui.
  2. Visual Studio ou IDE similar: você usará isso para escrever e executar seu código .NET.
  3. Licença Aspose: Para contornar as limitações de avaliação, você podesolicite um teste gratuito ou obter umlicença temporária.

Pacotes de importação

Comece importando os namespaces necessários para seu projeto:

using System.IO;
using Aspose.Cells;
using System;

Esses namespaces darão acesso às classes necessárias para manipular planilhas e pastas de trabalho do Excel de forma eficaz.

Etapa 1: Defina o caminho do diretório

Primeiro, defina o diretório para armazenar suas planilhas do Excel. Isso simplificará o acesso aos arquivos mais tarde.

// Defina o caminho para o diretório de documentos.
string dataDir = "Your Document Directory";

Substituir"Your Document Directory" com seu caminho atual.

Etapa 2: Crie a primeira pasta de trabalho

Vamos criar uma nova pasta de trabalho e adicionar uma planilha a ela.

// Crie uma nova pasta de trabalho.
Workbook excelWorkbook0 = new Workbook();
// Acesse a primeira planilha na pasta de trabalho.
Worksheet ws0 = excelWorkbook0.Worksheets[0];

Etapa 3: Adicionar dados de cabeçalho

Preencha a planilha com linhas de cabeçalho para representar seu conjunto de dados claramente.

// Preencha as linhas de cabeçalho (A1:A4).
for (int i = 0; i < 5; i++)
{
    ws0.Cells[i, 0].PutValue($"Header Row {i}");
}

Etapa 4: preencher linhas de dados detalhados

Adicione conteúdo detalhado para fornecer contexto para sua planilha.

// Preencha linhas de detalhes (A5:A999).
for (int i = 5; i < 1000; i++)
{
    ws0.Cells[i, 0].PutValue($"Detail Row {i}");
}

Etapa 5: Configurar a configuração de impressão

Defina a configuração da página para repetir linhas de cabeçalho em páginas impressas, o que é especialmente útil para relatórios grandes.

// Configure a configuração da página para repetir linhas de cabeçalho em cada página.
PageSetup pageSetup = ws0.PageSetup;
pageSetup.PrintTitleRows = "$1:$5";

Etapa 6: Crie a segunda pasta de trabalho

Em seguida, crie a segunda pasta de trabalho que receberá a planilha copiada.

// Crie outra pasta de trabalho.
Workbook excelWorkbook1 = new Workbook();
// Acesse a primeira planilha na pasta de trabalho.
Worksheet ws1 = excelWorkbook1.Worksheets[0];

Etapa 7: renomeie a planilha de destino

Renomeie a planilha na segunda pasta de trabalho para facilitar a identificação.

// Renomeie a planilha.
ws1.Name = "MySheet";

Etapa 8: Copie os dados para a planilha de destino

Utilize oCopy método para transferir a planilha inteira da primeira pasta de trabalho para a segunda.

//Copie os dados da primeira planilha da primeira pasta de trabalho para a primeira planilha da segunda pasta de trabalho.
ws1.Copy(ws0);

Etapa 9: Salve a pasta de trabalho final

Por fim, salve a pasta de trabalho modificada.

// Salve a segunda pasta de trabalho.
excelWorkbook1.Save(dataDir + "CopyWorksheetFromWorkbookToOther_out.xls");

Conclusão

E aí está! Você pode facilmente copiar uma planilha de uma pasta de trabalho para outra usando o Aspose.Cells for .NET. Este método é ideal para grandes conjuntos de dados, criação de modelos e geração de relatórios.

Perguntas frequentes

Posso copiar várias planilhas de uma vez?

Sim, você pode iterar por várias planilhas e copiá-las individualmente para outra pasta de trabalho.

O Aspose.Cells mantém a formatação durante a cópia?

Absolutamente! OCopy O método preserva toda a formatação e estilos.

Como posso acessar células específicas na planilha copiada?

Você pode acessar células específicas usando oCells propriedade dentro da planilha.

E se eu quiser apenas copiar valores sem formatação?

Você pode implementar um método personalizado para copiar valores célula por célula, se preferir.

Posso testar esse recurso sem uma licença?

Sim, a Aspose oferece umateste gratuito para explorar suas características.