原創(chuàng)|使用教程|編輯:黃竹雯|2019-03-22 14:16:06.000|閱讀 709 次
概述:Stimulsoft Reports.PHP報表設(shè)計工具主要是為了能夠在互聯(lián)網(wǎng)上使用客戶端-服務(wù)器技術(shù)創(chuàng)建報表而設(shè)計。為了讓更多的初學者快速上手使用Stimulsoft Reports.PHP,我們特意將所有Stimulsoft Reports.PHP的基礎(chǔ)操作教程整合在一起,方便大家學習和收藏。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Stimulsoft Reports.PHP報表設(shè)計工具主要是為了能夠在互聯(lián)網(wǎng)上使用客戶端-服務(wù)器技術(shù)創(chuàng)建報表而設(shè)計。Stimulsoft Reports.PHP中主要結(jié)合運用了兩種技術(shù),PHP腳本技術(shù)和Adobe Flash技術(shù)。PHP腳本主要是在服務(wù)器端工作,用于控制報表的生成;而Adobe Flash 技術(shù)則主要是在客戶端工作,使Stimulsoft Reports.PHP可以在任何客戶端生成報表。
為了讓更多的初學者快速上手使用Stimulsoft Reports.PHP,我們特意將所有Stimulsoft Reports.PHP的基礎(chǔ)操作教程整合在一起,方便大家學習和收藏。
>>點擊下載最新版Stimulsoft Reports.PHP<<
首先,您需要將JavaScript庫和CSS樣式添加到Web頁面。例如,創(chuàng)建 designer.php文件并添加指向所有必需文件的鏈接:
Stimulsoft Reports.PHP - JS Report Designer
要將Designer與PHP服務(wù)器端進行通信,需要一些功能。要將它們添加到Web頁面,只需在部分中調(diào)用StiHelper :: initialize()靜態(tài)PHP函數(shù)即可。此函數(shù)可以在helper.php文件中找到,因此將此文件導(dǎo)入添加到Web頁面的頂部:
...
使用以下JavaScript代碼使用Designer選項創(chuàng)建對象并設(shè)置所需的值。例如,默認情況下以全屏模式顯示Designer。接下來,創(chuàng)建一個Designer對象,并將選項傳遞給它。所述designer.renderHtml()方法呈現(xiàn)設(shè)計器內(nèi)容轉(zhuǎn)換成指定的HTML元素:
var options = new Stimulsoft.Designer.StiDesignerOptions(); options.appearance.fullScreenMode = true; var designer = new Stimulsoft.Designer.StiDesigner(options, "StiDesigner", false); designer.renderHtml("designerContent");
要加載報表模板并將其分配給Designer,您可以使用以下JavaScript代碼:
var report = new Stimulsoft.Report.StiReport(); report.loadFile("reports/SimpleList.mrt"); designer.report = report;
下圖為示例代碼結(jié)果
此示例顯示如何在HTML Designer中的PHP服務(wù)器端保存報表模板。為此,您需要添加onSaveReport事件處理程序:
designer.onSaveReport = function (event) { }
在PHP服務(wù)器端,您需要保存從Designer傳遞的JSON報表模板對象。這應(yīng)該在做$ handler-> onSaveReport事件handler.php文件。例如,此代碼將報表模板保存到“reports”文件夾中的JSON文本文件:
$handler->onSaveReport = function ($event) { $report = $event->report; // Report JSON object $fileName = $event->fileName; // Report file name file_put_contents('reports/'.$fileName.".mrt",json_encode($report)); return StiResult::success("Save Report OK: ".$fileName); };
下圖為示例代碼結(jié)果
此示例顯示如何使用HTML查看器通過電子郵件發(fā)送報表。為此,您需要在Viewer選項中啟用 Send Email按鈕并添加onEmailReport事件處理程序:
var options = new Stimulsoft.Viewer.StiViewerOptions(); options.toolbar.showSendEmailButton = true; ... viewer.onEmailReport = function (event) { }
在PHP服務(wù)器端,您需要填寫電子郵件帳戶選項。這應(yīng)該在做$ handler-> onEmailReport事件handler.php文件:
$handler->onEmailReport = function ($event) { $event->settings->from = "******@gmail.com"; $event->settings->host = "smtp.gmail.com"; $event->settings->login = "******"; $event->settings->password = "******"; };
下圖為示例代碼結(jié)果
此示例顯示如何使用HTML查看器在PHP服務(wù)器端發(fā)送和保存導(dǎo)出的報表。為此,您需要添加onEndExportReport事件處理程序。此外,如果要僅在服務(wù)器端保存導(dǎo)出的報表,則需要阻止內(nèi)置文件處理。為此,只需將event.preventDefault屬性設(shè)置為true即可。
viewer.onEndExportReport = function (event) { event.preventDefault = true; }
在PHP服務(wù)器端,您可以獲取導(dǎo)出報表的Base64數(shù)據(jù)流。這可以在完成$ handler-> onEndExportReport事件handler.php文件。此外,例如,您可以將其保存到“reports”文件夾中的文件中。
$handler->onEndExportReport = function ($event) { $format = $event->format; // Export format $data = $event->data; // Base64 export data $fileName = $event->fileName; // Report file name file_put_contents('reports/'.$fileName.'.'.strtolower($format), base64_decode($data)); //return StiResult::success(); return StiResult::success("Export OK. Message from server side."); //return StiResult::error("Export ERROR. Message from server side."); };
此示例顯示如何在頁面上顯示HTML報表查看器并查看報表。首先,您需要將JavaScript庫和CSS樣式添加到Web頁面。例如,創(chuàng)建viewer.php文件并添加指向所有必需文件的鏈接:
Stimulsoft Reports.PHP - JS Report Viewer
要將Viewer與PHP服務(wù)器端進行通信,需要一些功能。要將它們添加到Web頁面,只需在部分中調(diào)用StiHelper :: initialize()靜態(tài)PHP函數(shù)即可。此函數(shù)可以在helper.php文件中找到,因此將此文件導(dǎo)入添加到Web頁面的頂部:
...
使用以下JavaScript代碼使用Viewer選項創(chuàng)建對象并設(shè)置所需的值。例如,默認情況下以全屏模式顯示查看器。接下來,創(chuàng)建Viewer對象,并將選項傳遞給它。所述viewer.renderHtml()方法呈現(xiàn)查看器內(nèi)容轉(zhuǎn)換成指定的HTML元素:
var options = new Stimulsoft.Viewer.StiViewerOptions(); options.appearance.fullScreenMode = true; var viewer = new Stimulsoft.Viewer.StiViewer(options, "StiViewer", false); viewer.renderHtml("viewerContent");
要加載報表并將其分配給Viewer,您可以使用以下JavaScript代碼:
var report = new Stimulsoft.Report.StiReport(); report.loadFile("reports/SimpleList.mrt"); viewer.report = report;
下圖為示例代碼結(jié)果
此示例顯示如何在HTML Designer和Viewer中使用SQL數(shù)據(jù)源。使用PHP適配器在服務(wù)器端處理所有SQL數(shù)據(jù)。對于它們與JavaScript端的連接,使用了onBeginProcessData事件。報表引擎需要數(shù)據(jù)時會觸發(fā)此事件。要向PHP服務(wù)器端發(fā)送請求并處理響應(yīng)就足以使用靜態(tài)StiHelper :: createHandler()函數(shù),該函數(shù)在網(wǎng)頁上添加所有必需的JavaScript代碼:
designer.onBeginProcessData = function (event, callback) { }
如果需要更改服務(wù)器端的數(shù)據(jù),例如,要更正連接字符串或檢查SQL查詢,可以在服務(wù)器端使用此事件。請更正$ handler-> onBeginProcessData 事件在 handler.php文件,因為你需要:
$handler->onBeginProcessData = function ($event) { $database = $event->database; $connectionString = $event->connectionString; $queryString = $event->queryString; return StiResult::success(); };
此示例顯示如何在報表中使用帶有參數(shù)的SQL數(shù)據(jù)源。使用PHP適配器在服務(wù)器端處理所有SQL數(shù)據(jù)。對于它們與JavaScript端的連接,使用了onBeginProcessData事件。報表引擎需要數(shù)據(jù)時會觸發(fā)此事件。要向PHP服務(wù)器端發(fā)送請求并處理響應(yīng)就足以使用靜態(tài)StiHelper :: createHandler()函數(shù),該函數(shù)在網(wǎng)頁上添加所有必需的JavaScript代碼。
designer.onBeginProcessData = function (event, callback) { }
您可以將SQL查詢中的參數(shù)用作表達式,將它們用大括號括起來。
SELECT id, name WHERE id = {Variable1} ORDER BY name {Variable2}
您可以在報表中創(chuàng)建具有相同名稱的變量。在這種情況下,當您查看報表時,大括號中的SQL參數(shù)將替換為變量的值。如果要使用PHP代碼替換服務(wù)器端的參數(shù)值,則無需創(chuàng)建報表變量。為此,請更正$ handler-> onBeginProcessData事件handler.php文件-只為參數(shù)添加值到$事件- >參數(shù)集合。您還可以在此事件中更正SQL查詢和連接字符串。
$handler->onBeginProcessData = function ($event) { $database = $event->database; $connectionString = $event->connectionString; $queryString = $event->queryString; $event->parameters["Variable1"] = 10; $event->parameters["Variable2"] = "ASC"; return StiResult::success(); };
想要擁有Stimulsoft Reports PHP為你帶來更輕松的工作嗎?
購買Stimulsoft正版授權(quán),請點擊喲!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn