MuyLargo – 11-20 oraciones

El Aspose.Words LINQ Reporting Engine for .NET permite a los desarrolladores crear informes ricos y basados en datos combinando una sintaxis de etiquetas de texto plano con consultas LINQ. Los informes pueden enlazarse a colecciones, bases de datos, JSON, XML o objetos personalizados, con filtrado, agrupamiento y agregación realizados directamente dentro de la plantilla. El resultado es un informe completamente poblado en formatos Word.

Instalación y configuración

  1. Instala el paquete NuGet Aspose.Words.
  2. Aplica tu licencia ( Licenciamiento por consumo ).
  3. Añade una referencia a Aspose.Words y asegúrate de que las dependencias estén incluidas.
  4. Para los pasos completos, consulta el Guía de instalación .

Plataformas compatibles: Windows, Linux y macOS con .NET Framework, .NET o Mono. IDEs: Visual Studio 2017–2026, JetBrains Rider, MonoDevelop.

Formatos de plantilla / salida compatibles: DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML y Word 2007 XML.

Inicio rápido

Crear un informe 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");

Características y funcionalidad

Sintaxis de plantilla

  • Etiquetas como <<Name>>, <<foreach:Orders>>, <<if:Condition>> son legibles por humanos.
  • Compatible en párrafos, tablas, encabezados y pies de página.

Vinculación de datos LINQ

  • Vincular a colecciones, DataTables, EF consultas, JSON, XML, o objetos personalizados.
  • LINQ en línea: Where, OrderBy, GroupBy, proyecciones.

Filtrado, Agrupación y Ordenación

  • Bloques condicionales con <<if:…>> / <<endif>>.
  • Agrupar datos con <<groupby:Property>>.
  • Ordenación en línea con orderby cláusulas.

Funciones de agregación

  • Etiquetas integradas: <<sum:>>, <<avg:>>, <<count>>, <<min:>>, <<max:>>.
  • Actualizaciones automáticas cuando los conjuntos de datos cambian.

Lógica condicional & Switch

  • Usar <<switch:Expression>>, <<case:Value>>, <<default>> para múltiples escenarios.
  • Simplifica plantillas con diferentes diseños.

Datos anidados & jerárquicos

  • Navegar por grafos de objetos (p. ej.,)., <<foreach:Order.Items>>).
  • Construye tablas/listas anidadas con agrupación + condiciones.

Funciones personalizadas & extensibilidad.

  • Registra métodos de extensión o controladores para lógica personalizada.
  • Realiza formateo y transformaciones especializadas.

Herencia de plantillas.

  • Definir plantillas base y reutilizarlas en plantillas hijas.
  • Mantener una marca y estilos consistentes.

Eventos & Callbacks

  • Conectar con ReportBuildStarted, TagProcessed, ReportBuildFinished.
  • Añada registro, inserte gráficos/imagenes o modifique la salida dinámicamente.

Localización & Internacionalización

  • Formatee fechas, números y monedas según la cultura.
  • Integre archivos de recursos para informes multilingües.

FAQ

  1. ¿En qué se diferencia de Mail Merge? LINQ Reporting usa etiquetas de texto y admite expresiones LINQ, a diferencia de los campos tradicionales de mail merge.
  2. ¿Qué fuentes de datos son compatibles? XML, JSON, CSV, DataTables, Entity Framework y objetos personalizados .NET.
  3. ¿Puedo incrustar gráficos e imágenes? Sí. Las plantillas pueden incluir gráficos, códigos de barras e imágenes rellenados a partir de los datos.
  4. ¿Qué formatos puedo generar? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML y Word 2007 XML.
  5. ¿Soporta la localización? Sí. Se admite el formato sensible a la cultura y la integración de recursos.
 Español