Introdução

O Aspose.Words LINQ Reporting Engine for .NET permite que desenvolvedores criem relatórios ricos e orientados a dados combinando uma sintaxe de tags em texto simples com consultas LINQ. Os relatórios podem se vincular a coleções, bancos de dados, JSON, XML ou objetos personalizados, com filtragem, agrupamento e agregação realizados diretamente dentro do modelo. O resultado é um relatório totalmente preenchido em formatos Word.

Instalação e Configuração

  1. Instale o pacote NuGet Aspose.Words.
  2. Aplique sua licença ( Licenciamento Medido ).
  3. Adicione uma referência a Aspose.Words e garanta que as dependências sejam incluídas.
  4. Para as etapas completas, veja o Guia de Instalação .

Plataformas Compatíveis: Windows, Linux e macOS com .NET Framework, .NET ou Mono. IDEs: Visual Studio 2017–2026, JetBrains Rider, MonoDevelop.

Formatos de Modelo / Saída Compatíveis: DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML e Word 2007 XML.

Início Rápido

Crie um Relatório a partir de 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");

Recursos e Funcionalidades

Sintaxe do Modelo

  • Tags como <<Name>>, <<foreach:Orders>>, <<if:Condition>> são legíveis por humanos.
  • Suportado em parágrafos, tabelas, cabeçalhos e rodapés.

Vinculação de Dados LINQ

  • Vincular a coleções, DataTables, EF consultas, JSON, XML ou objetos personalizados.
  • LINQ inline: Where, OrderBy, GroupBy, projeções.

Filtragem, Agrupamento & Ordenação

  • Blocos condicionais com <<if:…>> / <<endif>>.
  • Agrupar dados com <<groupby:Property>>.
  • Ordenação inline com orderby cláusulas.

Funções de Agregação

  • Tags incorporadas: <<sum:>>, <<avg:>>, <<count>>, <<min:>>, <<max:>>.
  • Atualizações automáticas quando os conjuntos de dados mudam.

Lógica Condicional & Switch

  • Usar <<switch:Expression>>, <<case:Value>>, <<default>> para múltiplos cenários.
  • Simplifica modelos com diferentes layouts.

Dados Aninhados & Hierárquicos

  • Navegue em grafos de objetos (por exemplo,)., <<foreach:Order.Items>>).
  • Crie tabelas/listas aninhadas com agrupamento + condições.

Funções Personalizadas & Extensibilidade

  • Registre métodos de extensão ou manipuladores para lógica personalizada.
  • Execute formatação e transformações especializadas.

Herança de Template

  • Defina modelos base e reutilize‑os em modelos filhos.
  • Mantenha a identidade visual e os estilos consistentes.

Eventos e Callbacks

  • Integrar com ReportBuildStarted, TagProcessed, ReportBuildFinished.
  • Adicione registro, injete gráficos/imagens ou modifique a saída dinamicamente.

Localização & Internacionalização

  • Formate datas, números e moedas de acordo com a cultura.
  • Integre arquivos de recursos para relatórios multilíngues.

FAQ

  1. Como isso difere do Mail Merge? O LINQ Reporting usa tags de texto e suporta expressões LINQ, ao contrário dos campos tradicionais de mail merge.
  2. Quais fontes de dados são suportadas? XML, JSON, CSV, DataTables, Entity Framework e objetos personalizados .NET.
  3. Posso incorporar gráficos e imagens? Sim. Os modelos podem incluir gráficos, códigos de barras e imagens preenchidas a partir dos dados.
  4. Quais formatos posso gerar? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML, e Word 2007 XML.
  5. Ele oferece suporte à localização? Sim. Formatação sensível à cultura e integração de recursos são suportadas.
 Português