در این مقاله قصد داریم به نحوه استفاده از گزارش گیر Stimulsoft در فریمورک لاراول بپردازیم. Stimulsoft یک نرم افزار گزارش گیری پیشرفته است که مخصوص فریمورک Asp.net core می باشد. اما با گذشت زمان، نسخه های مختلفی از این نرم افزار جهت استفاده در زبان های مختلف تحت وب ارائه شد. اکنون میتوان از این نرم افزار با زبانهایی مثل php، javaScript، java و … استفاده کرد. حال در این مقاله به نحوه استفاده از این نرم افزار در فریمورک لاراول خواهیم پرداخت. با استفاده از این نرم افزار میتوان گزارش های بسیار پیشرفته همچون شکل زیر را تولید کرد :
فریمورک لاراول یک فریمورک طراحی سایت و تحت زبان php می باشد که جهت طراحی انواع سایتهای مختلف از آن میتوان بهره برد. علاوه بر زبان php، همچون همه زبان های تحت وب میتوان از زبان javaScript نیز در طراحی وبسایت خود کمک بگیریم تا صفحات با کارایی بالا و دلخواه خود را داشته باشیم. بنابراین برای استفاده از Stimulsoft میتوانیم از دو نسخه php و JavaScript آن استفاده کنیم. طبق تجربه بهتر است از نسخه جاوااسکریپتی این نرم افزار استفاده شود چرا که کار با نسخه php آن کمی دشوار است و مخصوصا اگر از data Source ها در ایجاد گزارش استفاده کنید و بخواهید این منابع را به صفحه گزارش خود متصل کنید، با مشکلاتی روبرو خواهید شد. بنابراین بهتر است از نسخه جاوااسکریپتی آن استفاده کنید.
لینک گیت هاب مربوط به نسخه جاوااسکریپت نرم افزار Stimulsoft :
https://github.com/stimulsoft/Samples-JS/tree/master/JavaScript
در این لینک میتوانید به مطالعه مثال های آورده شده با زبان جاوااسکریپت بپردازید.
حال میخواهیم مثالی را برای استفاده از این نرم افزار در فریمورک لاراول ارائه دهیم. فرض میکنیم فایل با پسوند mrt خود را ابتدا در نرم افزار تحت ویندوز آن طراحی کرده ایم و میخواهیم با تولید اطلاعات در وبسایت خود و متصل کردن این اطلاعات به این فایل، گزارش خود را تولید کنیم. حال مراحل زیر را انجام میدهیم :
1- ایجاد کنترلر :
ابتدا کنترلر مربوط به تولید گزارش را ایجاد میکنیم. برای این کار از دستور زیر در خط فرمان استفاده میکنیم :
php artisan make:controller ReportController
میخواهیم تا با ورود به متد index در داخل این کنترلر، صفحه مربوط به نمایش گزارش به نمایش در بیاید. برای این کار متد index را در داخل این کنترلر ایجاد میکنیم و دستورات زیر را در آن مینویسیم :
public function index() {
return view(‘report’);
}
2- ایجاد صفحه blade :
در داخل پوشه resources و سپس views یک فایل با نام زیر ایجاد میکنیم :
report.blade.php
3- ایجاد مسیر :
به داخل پوشه routes رفته و در فایل web.php مسیر زیر را جهت مشاهده گزارش خود تعریف میکنیم :
use App\\Http\\Controllers\\ReportController;
Route::get(‘/report’,[ReportController::class,’index’]);
4- دانلود فایل های گزارش گیر stimulsoft :
این سه فایل زیر را دانلود کنید (لینک دانلود) :
stimulsoft.reports.export.js
stimulsoft.reports.engine.js
stimulsoft.viewer.js
سپس فایل mrt خروجی نرم افزار و همچنین فایل مربوط به ورودی اطلاعات به گزارش که در اینجا از نوع json می باشد(در اینجا با نام table1.json معرفی شده است) را در نظر بگیرید.
حال این پنج فایل را در یک مسیر عمومی قابل دسترس در لاراول یعنی در پوشه public ذخیره کنید. برای مثال این سه فایل را در آدرس زیر ذخیره میکنیم :
public/stimulsoft/files
بنابراین، این پنج فایل با دستور ()asset در لاراول در دسترس هستند و میتوان از آنها در صفحه خود استفاده کرد.
5- کد جاوااسکریپت گزارش :
برای بدست آوردن کد جاوااسکریپت گزارش خود هم میتوانید از داکیومنت stimulsoft استفاده کنید(برای مشاهده کلیک کنید) و یا اینکه پس از اتمام طراحی خود در نرم افزار تحت ویندوز، از گزینه بالا سمت راست نرم افزار با نام publish نسبت به تهیه خروجی جاوااسکریپت گزارش خود اقدام کنید(به صورت شکل زیر):
کد جاوااسکریپت گزارش همانند کد زیر می باشد :
در این کد یک Data Source به نام table1 داریم که اطلاعات خود را جهت نمایش گزارش در آن قرار میدهیم که این فایل از نوع json میباشد.
حال این کد جاوااسکریپت را در فایل index.blade.php ایجاد شده در مرحله دوم قرار میدهیم.
جهت دسترسی کد به فایل های گزارش گیری، باید تغییراتی را در این کد ایجاد کنیم.
ابتدا یه فایل اصلی جاواساکرپت جهت دسترسی به گزارش گیر را به صفحه خود لینک میکنیم. برای این کار کافیست در مسیر تگ script در صفحه در قسمت src از دستورات لاراولی و تابع ()asset استفاده کنیم. چرا که فایل ها را در پوشه public ذخیره کردیم و امکان دسترسی به فایل ها با تابع ()asset را داریم. بنابراین سه خط مربوط به لینک کردن فایل های اسکریپتی به صفحه به صورت زیر تغییر خواهد کرد :
<script type=”text/javascript” src=”{{ asset(‘stimulsoft/files/stimulsoft.reports.engine.js’) }}”></script>
<script type=”text/javascript” src=”{{ asset(‘stimulsoft/files/stimulsoft.reports.export.js’) }}”></script>
<script type=”text/javascript” src=”{{ asset(‘stimulsoft/files/stimulsoft.viewer.js’) }}”></script>
در واقع شما باید برای هر کد گزارش، تگ های script که به یک فایل جاوااسکریپتی مربوط به نرم افزار Stimulsoft اشاره دارد را ابتدا دانلود کرده و در مسیر عمومی خود قرار داده و آن را به صفحه نمایش گزارش خود متصل کنید.
سپس باید فایل طراحی گزارش یعنی فایل mrt را به صفحه خود معرفی کنیم. بنابراین با استفاده از دستور ()asset محل فایل mrt را به کد جاوااسکریپت گزارش گیر معرفی میکنیم. همچنین باید فایل ورودی اطلاعات برای گزارش گیری که همان Data Source ما میباشد را نیز به همین روش به کد جاوااسکرپت خود معرفی کنیم.
پس از اعمال این تغییرات، کد جاواسکریپتی صفحه مربوط به نمایش گزارش به صورت زیر خواهد بود :
در نهایت با serve گرفتن از پروژه و وارد کردن آدرس report/ در مرورگر، گزارش شما در قالب نرم افزار stimulsoft نمایش داده خواهد شد :
دقیقا همین مثال با لاراول 8 در لینک گیت هاب زیر قابل دسترس است و میتوانید محل فایل ها و کدها را مشاهده کنید :
1دیدگاه
مهدي
آبان 23, 1402سلام.
با تشكر از آموزش خوبتون.
من در پروژه اي كه درحال انجامش هستم از لاراول استفاده نمي كنم و فقط از php استفاده مي كنم.
مي خواستم براي استفاده از stimulsoft راهنماييم كنيد.
متشكرم