Gerar relatórios de dados do Excel em C#

Você pode criar facilmente relatórios personalizados a partir de tabelas de dados do Microsoft Excel. Esses relatórios podem ser gerados programaticamente usando planilhas do Excel como uma tabela de dados. Este artigo se concentrará em como gerar relatórios de dados do Excel usando C#.

Os seguintes tópicos são discutidos/abordados neste artigo:

API C# para geração de relatórios

Estarei usando GroupDocs.Assembly for .NET API para gerar relatórios de dados do Excel. Ele permite que você crie aplicativos poderosos de automação de documentos e geração de relatórios. A API oferece suporte à busca de dados de várias fontes de dados, como XML, JSON e CSV. Você pode gerar relatórios facilmente em todos os formatos de arquivo comumente usados, como PDF, HTML e Microsoft Word. Ele pode ser usado para desenvolver aplicativos em qualquer ambiente de desenvolvimento voltado para a plataforma .NET.

Você pode baixar a DLL da API ou instalá-la usando o NuGet.

Install-Package GroupDocs.Assembly

Gerar relatórios de dados do Excel usando C#

Você pode gerar relatórios a partir de dados do Excel seguindo as etapas simples mencionadas abaixo:

  1. Obtenha a fonte de dados do Excel.
  2. Defina template de acordo com os dados do Excel.
  3. Fornecer fonte de dados e modelo para código C# simples para geração de relatório

Dados do Excel

Os dados tabulares disponíveis na planilha Excel podem ser usados como fonte de dados para gerar relatórios. Usarei os seguintes dados de exemplo do Excel para geração de relatório. São os dados do contrato dos clientes com seus respectivos gerentes e o preço do contrato acordado.

Fonte de dados do Excel

Fonte de dados do Excel

Modelo

Agora, defina o seguinte modelo no arquivo DOCX. Isso permite iterar os dados dos Contratos e seus respectivos gerentes com o preço do contrato. Depois disso, você pode pular para o código para geração de relatórios.

Modelo de relatório

Modelo de relatório

Converter Excel para relatório do Word em C

Siga as etapas mencionadas abaixo para automatizar a conversão de dados do Excel para o relatório DOCX com base no modelo.

  • Definir o arquivo de dados do Excel, o arquivo de modelo e os caminhos do arquivo de relatório de saída DOCX
  • Definir DocumentTableOptions
  • Crie DocumentTable com arquivo de dados Excel definido e DocumentTableOptions
  • Chame o método AssembleDocument da classe DocumentAssembler para gerar o relatório a partir dos dados do Excel fornecidos e do modelo definido

O exemplo de código a seguir mostra como gerar um relatório de uma fonte de dados do Excel de acordo com o modelo definido usando C#.

string ExcelDataFile = "Contracts_Data.xlsx";
string strDocumentTemplate = "Template.docx";
string strDocumentReport = "Output.docx";

// Definir tabela de dados do arquivo Excel
DocumentTableOptions options = new DocumentTableOptions 
{ 
    FirstRowContainsColumnNames = true 
};
DocumentTable table = new DocumentTable(ExcelDataFile, 0, options);

// Monte um documento usando a tabela de documentos externa como fonte de dados.
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
    new DataSourceInfo(table, "contracts"));

O exemplo de código acima gerará o relatório a seguir.

Relatório gerado

Relatório gerado

A classe DocumentTableOptions fornece um conjunto de opções para controlar a extração de dados de uma tabela de documentos. Aqui, a propriedade FirstRowContainsColumnNames é definida como true.

A classe DocumentTable fornece acesso aos dados de uma única tabela (ou planilha) localizada em um documento externo para ser usado durante a montagem de um documento.

A classe DocumentAssembler fornece métodos para gerar relatórios com base no documento modelo com dados.

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como gerar relatórios de dados do Excel usando C#. Você pode aprender mais sobre GroupDocs.Assembly para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também