Aspose.Words Motor de Informes LINQ para .NET
El **Aspose.Words LINQ Reporting Engine para .NET ** permite que los desarrolladores creen **Richos, informes basados en datos ** al combinar una sintaxe de etiquetas de texto plano con las consultas de Linux. Reports pueden vincularse a colecciones, bases de datos, JSON, XML, o objetos personalizados, con filtración, agrupación y agregado realizados directamente dentro del modelo. El resultado es un informe totalmente populado en DOCX, PDF, HTML, u cualquier otro formato apoyado por Aspose, Words.
Instalación y configuración
- Instalar el paquete NuGet
Aspose.Words
. - Aplicar su licencia ( Licenciamiento Medido ).).
- Añade una referencia a
Aspose.Words
garantizar que las dependencias sean incluidas. - Para los pasos completos, ver el Guía de instalación .
Platformas apoyadas: Windows, Linux, macOS y OS móviles con .NET Framework, .NET Core o Mono.IDEs: Visual Studio 2010–2022, Xamarin, MonoDevelop.
Inicio rápido: Crea un informe 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
Título Syntax
- Tags como
<<Name>>
,<<foreach:Orders>>
,<<if:Condition>>
Es humano de lectura. - Apoyado en parágrafos, mesas, cabezas y pies.
La conexión de datos de Link
- Conexión a colecciones, tablas de datos, EF consultas, JSON, XML, o objetos personalizados.
- Enlaces en línea:
Where
,OrderBy
,GroupBy
, y las proyecciones.
Filtración, Grouping y Sorting
- Los bloques condicionales con
<<if:…>>
/<<endif>>
. - Los datos de grupo con
<<groupby:Property>>
. - Inline ordenando con
orderby
las cláusulas.
Funciones de agrupación
- Título en la etiqueta:
<<sum:>>
,<<avg:>>
,<<count>>
,<<min:>>
,<<max:>>
. - La actualización automática cuando los conjuntos de datos cambian.
Condicional y Switch Logic
- Uso
<<switch:Expression>>
,<<case:Value>>
,<<default>>
para varios escenarios. - Simplifica los templates con diferentes layouts.
NESTED y datos jerárquicos
- Navegación de gráficos de objetos (por ejemplo.,
<<foreach:Order.Items>>
).). - Construye tablas / listas con grupos + condiciones.
Funciones personalizadas y extensibilidad
- Registro de métodos de extensión o manipuladores para la lógica personalizada.
- Performan formatos y transformaciones especializadas.
La herencia del templo
- Define los patrones de base y los reutiliza a través de los modelos de niños.
- Mantenga una marca y estilos consistentes.
Eventos y callbacks
- Hook en
ReportBuildStarted
,TagProcessed
,ReportBuildFinished
. - Añadir logging, inyectar gráficos/imágenes, o modificar la salida dinámicamente.
Localización y internacionalización
- Formato de fechas, números, monedas por cultura.
- Integra archivos de recursos para informes multilingüe.
FAQ
**Cómo se diferencia esto de Mail Merge?**LINQ Reporting utiliza las etiquetas de texto y soporta las expresiones de Linq, a diferencia de los campos de fusión de correo tradicional.
**Qué fuentes de datos se apoyan?**XML, JSON, CSV, DataTables, Framework de la entidad y objetos .NET personalizados.
**Puedo incorporar gráficos y imágenes?**Los modelos pueden incluir gráficos, códigos de barras y imágenes populadas a partir de los datos.
**Qué formatos puedo extraer?**DOCX, PDF, HTML, RTF, ODT y todos los formatos apoyados por Aspose.Words.
**Suporta la localización?**Se apoya la formatación cultural y la integración de los recursos.