عنوان:

‫شرح حال ابزارهای گزارشگیری موجود


نویسنده: وحید نصیری
تاریخ: ۱۳۹۰/۰۹/۱۲ ۲۳:۱۸:۰۰
آدرس: www.dntips.ir

مدتی هست که در حال تهیه یک کتابخانه گزارشگیری بر پایه iTextSharp هستم. برای تهیه backlog هم چه جایی بهتر از بررسی سؤالات موجود در انجمن‌ها؛ چیزی مثل این:


بله، تاپیکی با 13 صفحه که حتی یک مورد از درخواست‌های آن هم دارای پاسخ نبود؛ اما باز هم کاربران با علاقه هرچه تمام‌تر یا می‌دونید، از روی عجز درخواستشون رو مطرح می‌کردند و کسی نبود که جواب بده. حقیقتش این است که مشکل از افراد نیست یا اینکه «کسی نبود» یا «کسی نخواست» که جواب بده. مشکل این است که اکثر برنامه‌های گزارشگیری یا گزارش سازی موجود در حد یک Demo ware هستند. «نمی‌تونند» با مشکلات واقعی کاری موجود (در طی 13 صفحه که ذکر شد) راحت کنار بیان و راه حل بدرد بخوری رو ارائه بدن.

نظرات

  • مهمان در ۱۳۹۰/۰۹/۱۳ ۰۸:۵۲:۳۹
    در مورد این iTextSharp نمی دونم اما با ابزارهای کزارش سازی زیادی کار کردم، منجمله CrystalReport, FastReport, Telerik Reporting, QuickReport و چند تا دیگه
    اما هیچ کدوم به پای DevExpress XtraReports نمی رسند! این رو بدون اغراق می گم. تنها مشکلش عدم پشتیبانی از راست به چپ هست که چون مشتریش کمه برا راست به چپ پیاده سازی نمی کنند.

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

    اما ابزارهای گزارش گیری اوپن سورس شاید زمان زیادی لازم باشه تا به قدرت ابزارهای تجاری برسند. البته این نظر منه.
  • وحید نصیری در ۱۳۹۰/۰۹/۱۳ ۱۴:۰۴:۴۹
    لبته این iTextSharp فقط یک Pdf Writer‌ خام هست. برای گزارشگیری و گزارش سازی ابزاری رو نداره ولی ... میشه برفراز آن خیلی کارها رو میسر کرد.
    من منهای طراح گرافیکی DevExpress XtraReports که ذکر کردید، مابقی امکاناتش رو تا الان با iTextSharp پیاده سازی کردم. به نظرم نیازی هم به طراح ندارد. روش Code first هست. البته فقط خروجی PDF‌ داره. با پشتیبانی کامل فارسی و راست به چپ. اصلا برای راست به چپ درستش کردم!
    این یک نمونه خروجی Dynamic crosstab ایی است که چند وقت قبل در اینجا (^) در موردش توضیح دادم. فکر نمی‌کنم هیچکدوم از ابزارهای موجود بتونند از یک کوئری LINQ و اون هم Dynamic یک خروجی به این شکل رو تولید کنند : (^)
  • مهمان در ۱۳۹۰/۰۹/۱۳ ۱۵:۵۸:۱۰
    مثال PivotGrid که البته با asp.net است
    http://demos.devexpress.com/xtrareportsdemos/ReportControls/XRPivotGrid.aspx
    هیچ کد نویسی لازم ندارید! فقط یک کنترل PivotGrid رو تو فرم قرار دهید و گرید رو طراحی کنید، نتیجه مانند دمو میشه!
    لیست امکاناتش.
    http://documentation.devexpress.com/#XtraReports/CustomDocument2161

    یک امکان بسیار جالب که این گزارش گیری داره امکان قرار دادن کنترل های معمولی رو گزارش هست، و همچنین امکان دسترسی به تمامی کنترل های از دورن کد برنامه.
    تصور می کنم که اگه یک کنترل PivotGrid معمولی (pivotGrid گزارش امکان تولید خودکار ستون ها رو نداره) رو در گزارش قرار بدیم و datasourceرو برابر خروجی اون تابع در پست بگذاریم، نتیجه مورد نظر که گفتید بدست میاد.

    مطالب شما هم همیشه مورد استفاده و بسیار کاربردی بوده، بابت زحماتتون ازتون تشکر می کنم :)
  • مهمان در ۱۳۹۰/۱۰/۰۶ ۱۱:۱۶:۱۳
    سلام.
    آقای نصیری نظرتون درباره ی این پروژه چیه ؟
    http://doddlereport.codeplex.com/
  • وحید نصیری در ۱۳۹۰/۱۰/۰۶ ۱۲:۳۰:۴۱
    سلام؛ برای شروع و ایده گرفتن خوبه؛ ولی جای کار زیاد داره. حداقل خروجی PDF اون درکی از راست به چپ نداره و نیاز به اصلاحات اساسی داره.