Exportar dados da planilha do Excel para tabela
Neste tutorial, aprenderemos como exportar dados de uma planilha Excel e criar uma tabela em um documento PDF usando a biblioteca Aspose.PDF for .NET. Percorreremos o código-fonte passo a passo e explicaremos cada seção em detalhes. Ao final deste tutorial, você será capaz de gerar arquivos PDF com tabelas contendo dados de planilhas Excel. Vamos começar!
Requisitos
Antes de começarmos, certifique-se de ter o seguinte:
- Conhecimento básico da linguagem de programação C#
- Visual Studio instalado em sua máquina
- Biblioteca Aspose.PDF para .NET adicionada ao seu projeto
Etapa 1: Configurando o Ambiente
Para começar, crie um novo projeto C# no Visual Studio. Adicione a referência à biblioteca Aspose.PDF para .NET clicando com o botão direito do mouse em seu projeto no Solution Explorer, selecionando “Gerenciar pacotes NuGet” e procurando por “Aspose.PDF”. Instale o pacote e você estará pronto para começar.
Etapa 2: Carregando a planilha do Excel
Na primeira etapa do nosso código, definimos o caminho para o diretório que contém o documento Excel. Substitua “SEU DIRETÓRIO DE DOCUMENTOS” pelo caminho real do diretório onde seu arquivo Excel está localizado.
// O caminho para o diretório de documentos.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(new FileStream(dataDir + "newBook1.xlsx", FileMode.Open));
Aqui, usamos a biblioteca Aspose.Cells para carregar a pasta de trabalho do Excel. Certifique-se de substituir “newBook1.xlsx” pelo nome do seu arquivo Excel.
Etapa 3: acessando a planilha
A seguir, precisamos acessar a primeira planilha do arquivo Excel. Fazemos isso usando oWorksheets
coleção doWorkbook
objeto.
// Acessando a primeira planilha do arquivo Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];
Se o seu arquivo Excel contiver várias planilhas, você poderá alterar o valor do índice[0]
para acessar uma planilha diferente.
Etapa 4: exportando dados para DataTable
Agora, exportaremos o conteúdo da planilha Excel para umDataTable
objeto. Especificamos o intervalo de células a exportar usando oExportDataTable
método.
// Exportando o conteúdo de 7 linhas e 2 colunas começando da 1ª célula para DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);
Neste exemplo, exportamos todas as linhas e colunas começando da primeira célula (0, 0) até a última célula da planilha. Defina o intervalo apropriado com base em seus requisitos.
Passo 5: Criando um Documento PDF
Agora, criaremos um novo documento PDF usando a biblioteca Aspose.PDF.
// Instanciar uma instância de Documento
Aspose.Pdf.Document pdf1 = new Aspose.Pdf.Document();
Isso cria um documento PDF vazio onde podemos adicionar conteúdo.
Etapa 6: adicionar uma página e uma tabela
Para exibir os dados em formato de tabela, precisamos adicionar uma página e uma tabela ao documento PDF.
// Crie uma página na instância do documento
Aspose.Pdf.Page sec1 = pdf1.Pages.Add();
// Crie um objeto Tabela
Aspose.Pdf.Table tab1 = new Aspose.Pdf.Table();
// Adicione o objeto Tabela na coleção de parágrafos da seção
sec1.Paragraphs.Add(tab1);
Aqui, criamos uma nova página e um objeto de tabela. Em seguida, adicionamos a tabela à coleção de parágrafos da página.
Etapa 7: definindo as propriedades da tabela
Antes de importar os dados, precisamos definir algumas propriedades da tabela, como larguras de colunas e bordas de células padrão.
// Defina as larguras das colunas da tabela
tab1.ColumnWidths = "40 100 100";
// Defina a borda da célula padrão da tabela usando o objeto BorderInfo
tab1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);
Neste exemplo, definimos as larguras das colunas para 40, 100 e 100 unidades. Ajuste os valores com base nos seus dados. Também definimos a borda da célula padrão para exibir bordas em todos os lados de cada célula.
Passo 8: Importando Dados para a Tabela
Agora, importaremos os dados doDataTable
objeto na tabela usando oImportDataTable
método.
// Importe dados para o objeto Table do DataTable criado acima
tab1.ImportDataTable(dataTable, true, 0, 0, dataTable.Rows.Count + 1, dataTable.Columns.Count);
Aqui, especificamos o intervalo de linhas e colunas a serem importadas. Neste exemplo, importamos todas as linhas e colunas dodataTable
objeto.
Passo 9: Formatando a Tabela
Para melhorar a aparência da tabela, podemos aplicar formatação a células ou linhas específicas. Nesta etapa, formataremos a primeira linha e as linhas alternativas da tabela.
// Obtenha a primeira linha da tabela
Aspose.Pdf.Row row1 = tab1.Rows[0];
// Formate a primeira linha
foreach(Aspose.Pdf.Cell curCell in row1.Cells)
{
// Defina a cor de fundo das células na primeira linha
curCell.BackgroundColor = Color.Blue;// Defina a face das células na primeira linha
curCell.DefaultCellTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Helvetica-Oblique");
// Defina a cor da fonte das células na primeira linha
curCell.DefaultCellTextState.ForegroundColor = Color.Yellow;
// Defina o alinhamento do texto para as células da primeira linha
curCell.DefaultCellTextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
}
// Formato de linha alternativo
for (int All_Rows = 1; All_Rows <= dataTable.Rows.Count; All_Rows++)
{
foreach(Aspose.Pdf.Cell curCell in tab1.Rows[All_Rows].Cells)
{
// Defina a cor de fundo das células em linhas alternadas
curCell.BackgroundColor = Color.Gray;
// Defina a cor do texto das células em linhas alternadas
curCell.DefaultCellTextState.ForegroundColor = Color.White;
}
}
Aqui, iteramos pelas células da primeira linha e definimos a cor de fundo, o tipo da fonte, a cor da fonte e o alinhamento do texto. Em seguida, iteramos por todas as células nas linhas alternativas e definimos o plano de fundo e a cor do texto.
Passo 10: Salvando o Documento PDF
Finalmente, salvamos o documento PDF no local especificado.
// Salve o PDF
pdf1.Save(dataDir + @"Exceldata_toPdf_table.pdf");
Certifique-se de substituir “SEU DIRETÓRIO DE DOCUMENTOS” pelo caminho do diretório e nome de arquivo desejado para o arquivo PDF de saída.
Exemplo de código-fonte para exportar dados de planilha do Excel para tabela usando Aspose.PDF para .NET
// O caminho para o diretório de documentos.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(new FileStream(dataDir + "newBook1.xlsx", FileMode.Open));
// Acessando a primeira planilha do arquivo Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];
// Exportando o conteúdo de 7 linhas e 2 colunas começando da 1ª célula para DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);
// Instanciar uma instância de documento
Aspose.Pdf.Document pdf1 = new Aspose.Pdf.Document();
// Crie uma página na instância do documento
Aspose.Pdf.Page sec1 = pdf1.Pages.Add();
// Crie um objeto Tabela
Aspose.Pdf.Table tab1 = new Aspose.Pdf.Table();
// Adicione o objeto Tabela na coleção de parágrafos da seção
sec1.Paragraphs.Add(tab1);
// Defina as larguras das colunas da tabela. Precisamos especificar o ColumnCount manualmente.
// Como a planilha Excel atual possui três colunas, estamos especificando a mesma contagem
tab1.ColumnWidths = "40 100 100";
// Defina a borda da célula padrão da tabela usando o objeto BorderInfo
tab1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);
// Importe dados para o objeto Table do DataTable criado acima
tab1.ImportDataTable(dataTable, true, 0, 0, dataTable.Rows.Count + 1, dataTable.Columns.Count);
// Obtenha a primeira linha da tabela
Aspose.Pdf.Row row1 = tab1.Rows[0];
// Itere por todas as células na primeira linha e defina a cor de fundo como azul
foreach (Aspose.Pdf.Cell curCell in row1.Cells)
{
// Defina o plano de fundo de todas as células da primeira linha da tabela.
curCell.BackgroundColor = Color.Blue;
// Defina o tipo de fonte para as células da 1ª linha da tabela.
curCell.DefaultCellTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Helvetica-Oblique");
// Defina a cor da fonte de todas as células da primeira linha da tabela.
curCell.DefaultCellTextState.ForegroundColor = Color.Yellow;
// Defina o alinhamento do texto para as células da 1ª linha como Centro.
curCell.DefaultCellTextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
}
for (int All_Rows = 1; All_Rows <= dataTable.Rows.Count; All_Rows++)
{
// Itere por todas as células na primeira linha e defina a cor de fundo como azul
foreach (Aspose.Pdf.Cell curCell in tab1.Rows[All_Rows].Cells)
{
// Defina a cor de fundo de todas as células, exceto da primeira linha.
curCell.BackgroundColor = Color.Gray;
// Defina a cor do texto de todas as células, exceto a primeira linha.
curCell.DefaultCellTextState.ForegroundColor = Color.White;
}
}
// Salve o PDF
pdf1.Save(dataDir + @"Exceldata_toPdf_table.pdf");
Conclusão
Neste tutorial, aprendemos como exportar dados de uma planilha Excel para uma tabela PDF usando a biblioteca Aspose.PDF for .NET. Abordamos o processo passo a passo de carregamento da planilha do Excel, criação de um documento PDF, adição de uma tabela, importação de dados e formatação da tabela. Agora você pode gerar arquivos PDF com tabelas contendo dados do Excel de forma programática.
Perguntas frequentes
P: Qual é o propósito de exportar dados de planilhas do Excel para uma tabela PDF?
R: Exportar dados de planilhas do Excel para uma tabela PDF permite apresentar os dados em um formato estruturado e organizado. Ele permite gerar arquivos PDF com tabelas que contêm dados de planilhas do Excel, facilitando o compartilhamento e a preservação de informações em formato de documento portátil.
P: Posso personalizar a aparência da tabela PDF?
R: Sim, você pode personalizar a aparência da tabela PDF usando várias propriedades fornecidas pelo Aspose.PDF for .NET. No código-fonte C# fornecido, você pode modificar as larguras das colunas, bordas das células, alinhamento do texto, estilo da fonte e muito mais para atender aos seus requisitos específicos.
P: Como posso lidar com arquivos Excel com várias planilhas?
R: No código C# fornecido, acessamos a primeira planilha do arquivo Excel usando o índice[0]
. Se o seu arquivo Excel contiver várias planilhas, você poderá acessá-las alterando o valor do índice de acordo, como[1]
para a segunda planilha ou[2]
para a terceira planilha.
P: Posso aplicar formatação diferente a linhas ou células específicas na tabela PDF?
R: Sim, você pode aplicar formatação diferente a linhas ou células específicas na tabela PDF. No código-fonte C# fornecido, demonstramos como formatar a primeira linha e as linhas alternativas de maneira diferente, alterando a cor de fundo, o estilo da fonte e a cor da fonte. Você pode aplicar técnicas de formatação semelhantes a quaisquer linhas ou células específicas, conforme necessário.
P: Aspose.PDF for .NET é a única biblioteca que permite exportar dados do Excel para uma tabela PDF?
R: Aspose.PDF for .NET é uma biblioteca poderosa para trabalhar com documentos PDF em aplicativos .NET. Embora possa haver outras bibliotecas disponíveis, o Aspose.PDF for .NET oferece uma ampla gama de recursos e capacidades para gerar, manipular e exportar arquivos PDF com tabelas de dados do Excel, tornando-o uma escolha popular para tais tarefas.