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
- Instala el paquete NuGet
Aspose.Words. - Aplica tu licencia ( Licenciamiento por consumo ).
- Añade una referencia a
Aspose.Wordsy asegúrate de que las dependencias estén incluidas. - 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
orderbyclá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
- ¿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.
- ¿Qué fuentes de datos son compatibles? XML, JSON, CSV, DataTables, Entity Framework y objetos personalizados .NET.
- ¿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.
- ¿Qué formatos puedo generar? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML y Word 2007 XML.
- ¿Soporta la localización? Sí. Se admite el formato sensible a la cultura y la integración de recursos.