Moteur de rapports LINQ

Le Aspose.Words LINQ Reporting Engine for .NET permet aux développeurs de créer rapports riches, axés sur les données en combinant une syntaxe de balises en texte brut avec des requêtes LINQ. Les rapports peuvent se lier à des collections, bases de données, JSON, XML ou objets personnalisés, avec filtrage, regroupement et agrégation effectués directement dans le modèle. Le résultat est un rapport entièrement rempli en formats Word.

Installation et configuration

  1. Installez le package NuGet Aspose.Words.
  2. Appliquez votre licence ( Licence à la consommation ).
  3. Ajoutez une référence à Aspose.Words et assurez‑vous que les dépendances sont incluses.
  4. Pour les étapes complètes, voir le Guide d’installation .

Plateformes prises en charge : Windows, Linux et macOS avec le framework .NET, .NET, ou Mono. IDEs : Visual Studio 2017–2026, JetBrains Rider, MonoDevelop.

Formats de modèle / de sortie pris en charge : DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML, et Word 2007 XML.

Démarrage rapide

Créer un rapport à 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");

Fonctionnalités et fonctionnement

Syntaxe du modèle

  • Balises comme <<Name>>, <<foreach:Orders>>, <<if:Condition>> sont lisibles par l’homme.
  • Pris en charge dans les paragraphes, les tableaux, les en-têtes et les pieds de page.

Liaison de données LINQ

  • Lier à collections, DataTables, EF requêtes, JSON, XML, ou objets personnalisés.
  • LINQ en ligne : Where, OrderBy, GroupBy, projections.

Filtrage, regroupement et tri

  • Blocs conditionnels avec <<if:…>> / <<endif>>.
  • Regrouper les données avec <<groupby:Property>>.
  • Tri en ligne avec orderby clauses.

Fonctions d’agrégation

  • Balises intégrées : <<sum:>>, <<avg:>>, <<count>>, <<min:>>, <<max:>>.
  • Mises à jour automatiques lorsque les ensembles de données changent.

Logique conditionnelle & de commutation

  • Utiliser <<switch:Expression>>, <<case:Value>>, <<default>> pour plusieurs scénarios.
  • Simplifie les modèles avec différentes mises en page.

Données imbriquées et hiérarchiques

  • Naviguer dans les graphes d’objets (p. ex.,)., <<foreach:Order.Items>>).
  • Construisez des tables/listes imbriquées avec regroupement + conditions.

Fonctions personnalisées et extensibilité

  • Enregistrez des méthodes d’extension ou des gestionnaires pour une logique personnalisée.
  • Effectuez un formatage et des transformations spécialisés.

Héritage de modèle

  • Définissez les modèles de base et réutilisez‑les dans les modèles enfants.
  • Maintenez une identité de marque et des styles cohérents.

Modèle d’objet cohérent

  • S’accrocher à ReportBuildStarted, TagProcessed, ReportBuildFinished.
  • Ajoutez la journalisation, injectez des graphiques/images, ou modifiez la sortie dynamiquement.

Localisation & Internationalisation

  • Formatez les dates, les nombres, les devises selon la culture.
  • Intégrez des fichiers de ressources pour des rapports multilingues.

FAQ

  1. En quoi cela diffère-t-il de Mail Merge ? LINQ Reporting utilise des balises texte et prend en charge les expressions LINQ, contrairement aux champs de publipostage traditionnels.
  2. Quelles sources de données sont prises en charge ? XML, JSON, CSV, DataTables, Entity Framework et objets personnalisés .NET.
  3. Puis-je intégrer des graphiques et des images ? Oui. Les modèles peuvent inclure des graphiques, des codes-barres et des images remplis à partir des données.
  4. Quels formats puis-je générer ? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML, et Word 2007 XML.
  5. Supporte-t-il la localisation ? Oui. Le formatage sensible à la culture et l’intégration des ressources sont pris en charge.
 Français