Aspose.Words LINQ Reporting Engine para .NET
O Aspose.Words LINQ Reporting Engine para .NET permite que os desenvolvedores criem ricos, relatórios baseados em dados , combinando uma sintaxe de tag de texto plano com consultas LINK. Relatórias podem ligar-se a coleções, bases de dados, JSON, XML ou objetos personalizados, com filtragem, agrupamento e agregação realizadas diretamente dentro do modelo.
Instalação e Setup
- Instale o pacote NuGet
Aspose.Words. - Aplique a sua licença ( Licenciamento Ponderado ).
- Adicione uma referência a
Aspose.Wordse assegurar que as dependências sejam incluídas. - Para os passos completos, veja o Guia de instalação .
Platformas suportadas: Windows, Linux, macOS e OS móveis com .NET Framework, .Net Core,.NET 5/6+, ou Mono.IDEs: Visual Studio 2010–2022, Xamarin, MonoDevelop.
Início rápido: Crie um relatório do XML
using Aspose.Words;
using Aspose.Words.Reporting;
var doc = new Document("ReportTemplate.docx");
var dataSource = new XmlDataSource("Data.xml");
var engine = new ReportingEngine();
engine.BuildReport(doc, dataSource, "data");
doc.Save("Report.Output.docx");Características e Funcionalidade
Síntese de Template
- Tags como
<<Name>>,<<foreach:Orders>>,<<if:Condition>>são humanamente leíveis. - Apoiado em parágrafos, mesas, cabeças e pés.
Linha de dados Binding
- Ligue para colecções, DataTables, EF consultas, JSON, XML, ou objetos personalizados.
- Com o link:
Where,OrderBy,GroupBy, e as projeções.
Filtração, Grouping & Sorting
- Blocos Condicionais com
<<if:…>>/<<endif>>. - Os dados do grupo com
<<groupby:Property>>. - Inline com a ordem
orderbydas cláusulas.
Funções de Agregação
- Apresentação em tags:
<<sum:>>,<<avg:>>,<<count>>,<<min:>>,<<max:>>. - Atualizações automáticas quando os dados mudam.
Condicional e Switch Logic
- Utilização
<<switch:Expression>>,<<case:Value>>,<<default>>para vários cenários. - Simplifica padrões com diferentes layouts.
Dados Nested e Hierárquicos
- Navegação de gráficos de objetos (por exemplo.,
<<foreach:Order.Items>>). - Construa tabelas / listas com grupos + condições.
Funções personalizadas e extensibilidade
- Registre métodos de extensão ou manuseiros para lógica personalizada.
- Exerce formatação e transformações especializadas.
Herança do Template
- Define os templates de base e reutilize-os em todo o template infantil.
- Manter uma marca e estilos consistentes.
Eventos e Callbacks
- Hook em
ReportBuildStarted,TagProcessed,ReportBuildFinished. - Adicionar logging, injetar gráficos/imagens, ou modificar a saída dinamicamente.
Localização e internacionalização
- Formato de datas, números, moedas por cultura.
- Integrar arquivos de recursos para relatórios multilingüe.
FAQ
**Como isso difere do Mail Merge?**O LINQ Reporting usa tags de texto e suporta expressões Linq, ao contrário dos campos de fusão de correio tradicionais.
**Que fontes de dados são suportadas?**XML, JSON, CSV, DataTables, Entity Framework e objetos .NET personalizados.
**Posso inserir gráficos e imagens?**Sim. Templates podem incluir gráficos, códigos de barras e imagens populadas a partir de dados.
**Quais formatos posso produzir?**DOCX, PDF, HTML, RTF, ODT e todos os formatos suportados por Aspose.Words.
**Ele suporta a localização?**Sim. A formatação cultural e a integração de recursos são apoiados.