Stimulsoft Reports.PHP报表设计工具主要是为了能够在互联网上使用客户端-服务器技术创建报表而设计。Stimulsoft Reports.PHP中主要结合运用了两种技术,PHP脚本技术和Adobe Flash技术。PHP脚本主要是在服务器端工作,用于控制报表的生成;而Adobe Flash 技术则主要是在客户端工作,使Stimulsoft Reports.PHP可以在任何客户端生成报表。
为了让更多的初学者快速上手使用Stimulsoft Reports.PHP,我们特意将所有Stimulsoft Reports.PHP的基础操作教程整合在一起,方便大家学习和收藏。
①【Stimulsoft Reports PHP教程】在HTML Designer中编辑报表
首先,您需要将JavaScript库和CSS样式添加到Web页面。例如,创建 designer.php文件并添加指向所有必需文件的链接:Stimulsoft Reports.PHP - JS Report Designer
要将Designer与PHP服务器端进行通信,需要一些功能。要将它们添加到Web页面,只需在部分中调用StiHelper :: initialize()静态PHP函数即可。此函数可以在helper.php文件中找到,因此将此文件导入添加到Web页面的顶部:...
使用以下JavaScript代码使用Designer选项创建对象并设置所需的值。例如,默认情况下以全屏模式显示Designer。接下来,创建一个Designer对象,并将选项传递给它。所述designer.renderHtml()方法呈现设计器内容转换成指定的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;
下图为示例代码结果
②【Stimulsoft Reports PHP教程】在服务器端保存报表
此示例显示如何在HTML Designer中的PHP服务器端保存报表模板。为此,您需要添加onSaveReport事件处理程序:designer.onSaveReport = function (event) {
}
在PHP服务器端,您需要保存从Designer传递的JSON报表模板对象。这应该在做$ 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);
};
下图为示例代码结果
③【Stimulsoft Reports PHP教程】通过电子邮件发送报表
此示例显示如何使用HTML查看器通过电子邮件发送报表。为此,您需要在Viewer选项中启用 Send Email按钮并添加onEmailReport事件处理程序:var options = new Stimulsoft.Viewer.StiViewerOptions();
options.toolbar.showSendEmailButton = true;
...
viewer.onEmailReport = function (event) {
}
在PHP服务器端,您需要填写电子邮件帐户选项。这应该在做$ 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 = "******";
};
下图为示例代码结果
④【Stimulsoft Reports PHP教程】将导出的报表发送到服务器
此示例显示如何使用HTML查看器在PHP服务器端发送和保存导出的报表。为此,您需要添加onEndExportReport事件处理程序。此外,如果要仅在服务器端保存导出的报表,则需要阻止内置文件处理。为此,只需将event.preventDefault属性设置为true即可。viewer.onEndExportReport = function (event) {
event.preventDefault = true;
}
在PHP服务器端,您可以获取导出报表的Base64数据流。这可以在完成$ 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.");
};
⑤【Stimulsoft Reports PHP教程】在HTML查看器中显示报表
此示例显示如何在页面上显示HTML报表查看器并查看报表。首先,您需要将JavaScript库和CSS样式添加到Web页面。例如,创建viewer.php文件并添加指向所有必需文件的链接:Stimulsoft Reports.PHP - JS Report Viewer
要将Viewer与PHP服务器端进行通信,需要一些功能。要将它们添加到Web页面,只需在部分中调用StiHelper :: initialize()静态PHP函数即可。此函数可以在helper.php文件中找到,因此将此文件导入添加到Web页面的顶部:...
使用以下JavaScript代码使用Viewer选项创建对象并设置所需的值。例如,默认情况下以全屏模式显示查看器。接下来,创建Viewer对象,并将选项传递给它。所述viewer.renderHtml()方法呈现查看器内容转换成指定的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;
下图为示例代码结果
⑥【Stimulsoft Reports PHP教程】使用SQL数据源
此示例显示如何在HTML Designer和Viewer中使用SQL数据源。使用PHP适配器在服务器端处理所有SQL数据。对于它们与JavaScript端的连接,使用了onBeginProcessData事件。报表引擎需要数据时会触发此事件。要向PHP服务器端发送请求并处理响应就足以使用静态StiHelper :: createHandler()函数,该函数在网页上添加所有必需的JavaScript代码:designer.onBeginProcessData = function (event, callback) {
}
如果需要更改服务器端的数据,例如,要更正连接字符串或检查SQL查询,可以在服务器端使用此事件。请更正$ handler-> onBeginProcessData事件在 handler.php文件,因为你需要:$handler->onBeginProcessData = function ($event) {
$database = $event->database;
$connectionString = $event->connectionString;
$queryString = $event->queryString;
return StiResult::success();
};
⑦【Stimulsoft Reports PHP教程】在SQL查询中使用参数
此示例显示如何在报表中使用带有参数的SQL数据源。使用PHP适配器在服务器端处理所有SQL数据。对于它们与JavaScript端的连接,使用了onBeginProcessData事件。报表引擎需要数据时会触发此事件。要向PHP服务器端发送请求并处理响应就足以使用静态StiHelper :: createHandler()函数,该函数在网页上添加所有必需的JavaScript代码。designer.onBeginProcessData = function (event, callback) {
}
您可以将SQL查询中的参数用作表达式,将它们用大括号括起来。SELECT id, name
WHERE id = {Variable1}
ORDER BY name {Variable2}
您可以在报表中创建具有相同名称的变量。在这种情况下,当您查看报表时,大括号中的SQL参数将替换为变量的值。如果要使用PHP代码替换服务器端的参数值,则无需创建报表变量。为此,请更正$ handler-> onBeginProcessData事件handler.php文件-只为参数添加值到$事件- >参数集合。您还可以在此事件中更正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正版授权,请点击“咨询在线客服”哟!