موتور گزارش‌گیری LINQ

این Aspose.Words LINQ Reporting Engine for .NET به توسعه‌دهندگان اجازه می‌دهد تا ایجاد کنند گزارش‌های غنی، مبتنی بر داده با ترکیب یک نحو برچسب متنی ساده با پرس‌و‌جوهای LINQ. گزارش‌ها می‌توانند به مجموعه‌ها، پایگاه‌های داده، JSON، XML یا اشیاء سفارشی متصل شوند، به‌طوری که فیلترگذاری، گروه‌بندی و تجمیع مستقیماً درون قالب انجام می‌شود. نتیجه یک گزارش کاملاً پر شده در قالب‌های Word.

نصب و راه‌اندازی

  1. پکیج NuGet را نصب کنید Aspose.Words.
  2. مجوز خود را اعمال کنید ( Metered Licensing ).
  3. افزودن یک ارجاع به Aspose.Words و اطمینان از اینکه وابستگی‌ها گنجانده شده‌اند.
  4. برای مشاهدهٔ تمام مراحل، به راهنمای نصب .

پلتفرم‌های پشتیبانی‌شده: ویندوز، لینوکس و macOS با .NET Framework، .NET یا Mono. IDEها: Visual Studio 2017–2026، JetBrains Rider، MonoDevelop.

قالب‌ها / فرمت‌های خروجی پشتیبانی‌شده: DOC، DOCX، RTF، DOT، DOTX، DOTM، DOCM، Word 2003 XML و Word 2007 XML.

شروع سریع

ساخت یک گزارش از 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");

قالب‌بندی: تغییرات قلم، پاراگراف و سبک را شناسایی می‌کند.

نحو قالب

  • برچسب‌ها مانند <<Name>>, <<foreach:Orders>>, <<if:Condition>> قابل خواندن برای انسان هستند.
  • در پاراگراف‌ها، جداول، سرصفحه‌ها و پاورقی‌ها پشتیبانی می‌شود.

اتصال داده LINQ

  • اتصال به مجموعه‌ها، DataTables،, EF پرس‌و‌جوها، JSON، XML، یا اشیاء سفارشی.
  • LINQ درون‌خطی: Where, OrderBy, GroupBy,، پروژکشن‌ها.

فیلتر کردن، گروه‌بندی و مرتب‌سازی

  • بلوک‌های شرطی با <<if:…>> / <<endif>>.
  • گروه‌بندی داده‌ها با <<groupby:Property>>.
  • مرتب‌سازی درون‌خطی با orderby بندها.

توابع تجمیعی

  • برچسب‌های داخلی: <<sum:>>, <<avg:>>, <<count>>, <<min:>>, <<max:>>.
  • به‌روزرسانی خودکار هنگام تغییر مجموعه‌های داده.

منطق شرطی و سوئیچ

  • استفاده کنید <<switch:Expression>>, <<case:Value>>, <<default>> برای سناریوهای متعدد.
  • قالب‌ها را با طرح‌های مختلف ساده می‌کند.

داده‌های تو در تو و سلسله‌مراتبی

  • گراف‌های شیء را مرور کنید (مثلاً،., <<foreach:Order.Items>>).
  • ساخت جداول/فهرست‌های تو در تو با گروه‌بندی + شرایط.

توابع سفارشی و قابلیت گسترش

  • ثبت متدهای افزونه یا هندلرها برای منطق سفارشی.
  • انجام قالب‌بندی و تبدیل‌های تخصصی.

ارث‌بری قالب

  • تعریف قالب‌های پایه و استفاده مجدد از آن‌ها در قالب‌های فرزند.
  • حفظ برندینگ و سبک‌های یکسان.

Aspose.Words برای .NET دموهای زنده

  • متصل شوید به ReportBuildStarted, TagProcessed, ReportBuildFinished.
  • logging را اضافه کنید، نمودارها/تصاویر را تزریق کنید، یا خروجی را به‌صورت پویا تغییر دهید.

بومی‌سازی و بین‌المللی‌سازی

  • قالب‌بندی تاریخ‌ها، اعداد و ارزها بر اساس فرهنگ.
  • فایل‌های منبع را برای گزارش‌های چندزبانه یکپارچه کنید.

FAQ

  1. این با Mail Merge چه تفاوتی دارد؟? LINQ Reporting از برچسب‌های متنی استفاده می‌کند و از عبارات LINQ پشتیبانی می‌کند، برخلاف فیلدهای mail merge سنتی.
  2. چه منابع داده‌ای پشتیبانی می‌شوند؟? XML، JSON، CSV، DataTables، Entity Framework، و اشیاء سفارشی .NET.
  3. آیا می‌توانم نمودارها و تصاویر را جاسازی کنم؟? بله. قالب‌ها می‌توانند شامل نمودارها، بارکدها و تصاویری باشند که از داده‌ها پر می‌شوند.
  4. کدام فرمت‌ها را می‌توانم خروجی بگیرم؟? DOC, DOCX, RTF, DOT, DOTX, DOTM, DOCM, Word 2003 XML، و Word 2007 XML.
  5. آیا از بومی‌سازی پشتیبانی می‌کند؟? بله. قالب‌بندی آگاه به فرهنگ و یکپارچه‌سازی منابع پشتیبانی می‌شود.
 فارسی