如何用报表工具将报表嵌入到Web页面中

如何用报表工具将报表嵌入到Web页面中,第1张

Smartbi电子表格报表怎么集成到第三方系统中
报表集成通常分为两个步骤:单点登录、报表集成。
单点登录:通过CAS、AD域等方式,完成单点登录
报表集成:每个电子表格报表都是一个URL,可以通过URL链接将报表嵌入到第三方系统中

Smartbi从报表开发的数据准备、样式设计、数据计算、数据可视化、互动逻辑、共享发布六大步骤上都有特色的功能,充分利用了Excel的现有能力,堪称企业报表平台的解决方案专家。尤其集成了Excel和ECharts后,使得Smartbi具有丰富的展现力、强大的互动性(基于单元格和对象的数据模型)、超级灵活的布局能力,而且这些都可以在Excel界面上全部完成。

集群:提高系统性能和可靠性

高一致性:所有通过Smartbi产品进行的配置和文件都可以随时同步到集群的各个节点。

高可用性:支持所有单机功能。单一节点宕机后,系统仍可正常访问。

强扩展性:基于良好的架构设计,随着节点的增加,系统所支持的并发几乎呈线性增长,且每个节点的负载更加均衡。

使用简单:可在平台中通过简单的 *** 作快速配置集群环境,其中节点的增删支持热部署。此外,还可在平台中监控各个节点的运行情况和日志。Smartbi一站式大数据分析平台

<html>
<head>
<script language="javascript">
function getTable(row,col,color,border){
var str = "";
str += "<table bordercolor="+color+" border="+border+">"
for(var i=0;i<row;i++){
str += "<tr>"
for(var j=0;j<col;j++){
str += "<td>";
str += i+1+""+(j+1);
str += "</td>";
}
str += "</tr>";
}
str += "</table>"
documentgetElementById("test")innerHTML = str;
}
</script>
</head>
<body onload = "getTable('3','4','yellow','2px')">
<div id = "test"></div>
</body>
</html>

我们在Visual Studio中可以用它自带的报表功能制作报表,但是它自带的报表功能并不完善,所以很多人都会在Visual Studio中使用Grid++制作报表。那么如何制作呢?下面我给大家分享一下。

工具/材料

Visual Studio 2015

首先我们打开Visual Studio 2015软件,新建一个Web应用程序,如下图所示

接下来选择程序类型是Empty和Web Forms,如下图所示,当然如果你对MVC熟悉也可以选择MVC

然后在项目中添加Grid++报表的脚本库文件,如下图所示,注意放在跟目录下面

接下来我们打开Grid++报表设计器,设计一个报表模板,如下图所示

然后将设计好的报表模板导入到项目的根目录下面,如下图所示

接着右键单击项目,选择添加下面的新建项,如下图所示

在d出的新建项页面中选择HTML页,然后给HTML起个名字,如下图所示

然后我们打开HTML,在其中引入CreateControljs文件,运用CreateDisplayViewex方法调用报表,如下图所示

接着我们在调出新建项界面,这次创建一个aspx的文件,如下图所

最后在aspx文件中我们通过SQL语句来获取数据库中的报表数据,如下图所示

运行程序以后,我们就可以看到如下图所示的Grid++报表了,注意浏览器的版本不要太低

// JavaScript Document
//功能:导出多个表格到EXCEL或者ET
//调用方法:toExcel('要导出的表格ID,以|分隔多个表格','输出到excel中的工作薄名称','导出的方式,0为不带格式,1为带格式','要导出的列数')
var idTmr = ""; 
function Cleanup() { 
windowclearInterval(idTmr); 
CollectGarbage(); 

 
function toExcel(tableId,sheetname,method,cols){
    if(!confirm("确认导出数据到EXCEL")){return false;}
    var tables=tableIdsplit("|");
    for(var n=0;n<tableslength;n++){
        if(!documentgetElementById(tables[n])){
            alert("表格"+tables[n]+"不存在,请检查是否有数据输出");
            return false;
        }
    }
    try{
        var oXL = new ActiveXObject("excelApplication");
    }catch(e1){
        try{
            var oXL = new ActiveXObject("etApplication");
        }catch(e2){
            alert(e2description+"\n\n\n要使用EXCEL对象,您必须安装Excel电子表格软件\n或者,需要安装Kingsoft ET软件\n\n同时浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。");
            return;
        }
    }
     
    try {
        var m=1;
        oXLVisible = true;
        oXLScreenUpdating=false;
        //oXLCalculation=-4135;
        var oWB = oXLWorkbooksAdd;
        var oSheet = oWBActiveSheet;
        var xlsheet = oWBWorksheets(1);
        for(var i=oWBWorksheetscount;i>1;i--){    //删除多余工作表
            oWBWorksheets(i)Delete();
        }
        for(var n=0;n<tableslength;n++){
            var elTable = documentgetElementById(tables[n]);
            var oRangeRef = documentbodycreateTextRange();
            oRangeRefmoveToElementText(elTable);
            oRangeRefexecCommand("Copy");
            oSheetcells(m,1)select;
            oSheetPaste();    //此方式为直接粘贴,带格式
            if (method == 0) {
                oSheetcellsClearFormats;
                //以下删除因表头分拆后产生的空行,一般表头不会超过5行,此处检查5行数据
                for(var delrow=1;delrow<5;delrow++){
                    var isBlank=true;
                    for(var col=1;col<=elTablerows[0]cellslength;col++){
                        if(oSheetcells(m+1,col)value!="" && oSheetcells(m+1,col)value!=undefined){
                            isBlank=false;
                            break;
                        }
                    }
                    if(isBlank){
                        oSheetRows(m+1)Delete;
                    }
                }
            }
            m+=elTablerowslength;
        }
        //oSheetCellsNumberFormatLocal = "@";//格式化数字时使用
        n=oSheetShapescount;
        for(var i=1;i<=n;i++){
            oSheetShapesItem(1)Delete();        //因为每次删除都会使总数减少,所以删除n次第一个对象,也可以倒过来从大到小删除
        }
        oXLSelectionCurrentRegionSelect;            //选择当前区域
        oXLSelectionInteriorPattern = 0;            //设置底色为空
        oXLSelectionBordersLineStyle = 1;        //设置单元格边框为实线
        oXLSelectionColumnWidth = 5;                //设置列宽
        oXLSelectionRowHeight = 16;                //行高
 
        oXLSelectionColumnsAutoFit;                //列宽自动适应
        //xlsheetColumns("A:Z")AutoFit;            //列宽自动适应
        xlsheetRows("1:"+m)AutoFit;                //自动行高
        xlsheetName=sheetname;
        oSheet = null;
        oWB = null;
        appExcel = null;
        //oXLCalculation=-4105;
        oXLScreenUpdating=true;
        idTmr = windowsetInterval("Cleanup();",1);     //释放Excel进程,回收内存空间,避免产生多个不会自己终止的Excel进程
       }catch (e) {
        idTmr = windowsetInterval("Cleanup();",1);
        alert(edescription);       
    }
}

不会写代码的话建议楼主不要用润乾了。。润乾的开发团队是以数学公式和代码开发见长的,绝大部分应用都是需要写代码的,而且学起来很困难。
润乾的官方网站上有部分产品使用说明,但是明显做的还不够系统,学起来很困难。
楼主要是不能参加他们的培训或者熟练的大牛教你的话就苦逼了。。
如果你要相对简单易用的报表软件的话,推荐Finereport,南京帆软软件公司开发的,用起来很简单,JS代码少得多,关键是他们的售后服务和产品使用说明做的很系统,我们现在就用的这个~
希望能帮到你~

初次学习帆软,第一张报表,由于字段比较多,预览发现有很多字段显示不出来。经查询资料发现是设置有问题。解决方案如下:
1模板-模板自适应属性。
2可设置字体与表格的自适应方式


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13334368.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-16
下一篇 2023-07-16

发表评论

登录后才能评论

评论列表(0条)

保存