使用微软OWC中做为联机分析系统前端展示工具

我们在开发联机分析系统时,经常要在B/S结构下开发,也就是说:联机分析系统的前端展示工具需要能嵌入到浏览器中使用。当然你可以自己开发,但是,在一般的情况下,我们可以使用微软的OWC组件实现这一功能。

OWC是Office Web Compent的缩写,即Microsoft的Office Web组件。实际上,可以把OWC看作是可以在浏览器应用的EXCEL。OWC包括三个组成部分:speedsheet,PivotTable 和ChartSpace. Spreedsheet类似于普通的EXCEL 表格,

PivotTable 即透视表,可用来做联机分析,(即钻取,旋转等)ChartSpace功能等同于EXCEL中的图表。

那么,到底如何使用微软OWC中做为联机分析系统前端展示工具呢?只要看了几行简单的HTML代码大家就明白了:

上面这句的含义很简单,就是把微软的数据连接控件植入网页。

style="width:100%;height:60%;display:none" width="576" height="384">

width="518" height="384">

同理:将PivotTable Control和Chart Control植入网页。

然后,编写网页显示时的vbscript 代码

Sub Window_onLoad()

Dim frm         'SaveLoad form

' Set the initial connection string for the DSC

‘SetConnection :将DSC与数据仓库连接

if SetConnection (DSC) then

' Bind the PivotTable to the DSC

再将PivotTable 与DSC连接

BindPivot ptable, DSC

再将PivotTable 与ChartSpace连接

' Bind the Chart to the PivotTable

BindChart ptable, cspace

cspace.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLineMarkers//表示图表的显示方式是 平滑线图。有关各种图表参数请查WIN2000的帮助

'

end if 'Connection OK

End Sub 'Window_onLoad()

SUB SetConnection(dsc)

dsc.ConnectionString = "provider=msolap; data source=“数据仓库服务器的机器名或IP“; initial catalog=FoodMart 2000"

End Sub

Sub BindPivot(ptable, dsc)

' Local variables

Dim ttl             'Temp total reference

' Clear any binding there may be

set ptable.DataSource = nothing

' Bind the PivotTable to the DSC

set ptable.DataSource = dsc

ptable.DataMember = "Sales"

End Sub 'BindPivot()

BindChart

'

'   Purpose: Binds the Chart control to the PivotTable control

'

'   In:

'       ptable           PivotTable control reference

'       cspace           Chart control reference

'

Sub BindChart(ptable, cspace)

set cspace.DataSource = ptable

cspace.Charts.Add

End Sub 'BindChart()

核心代码就这么多,用户即可使用此网页做联机分析。对于钻取,旋转等等操作,根本不用程序员去编程。因为,这些都是PivotTable自带的功能。同理,图表也不用程序员去编程管理。更奇妙的是,图表会随着PivotTable分析内容的不同而自动调整。

这里要说明的一点是,以上的代码表明是直接用网页内嵌的控件连数据仓库,所以,这种方式还不能算是纯正的B/S结构,因为连接的数据仓库服务器如果在局域网内,则必须是在同一个域内,且数据仓库服务器必须是域服务器。而如果连接的数据仓库服务器如果是在互联网上,则必须加页面认证,才能联结。

有没有办法,从服务器端将一个数据集的数据全部取出,然后将此结果传到浏览器端呢?这样不久可以避开讨厌的认证了么?办法是有的,而且很简单:就是运用PivotTable的XMLData属性。关键在于服务器端有一个PivotTable,浏览器端也有一个PivotTabl。在后台创建一个PivotTable对象,用以上同样的连接方法与数据仓库相连,然后取得此对象的XMLData属性值,再将这个属性值传给网页上的PivotTable。这样就搞定了。不过要注意的是传参数时候要有个小技巧,就是在服务器端要将XMLData的属性值中的<>符号换成{},而在浏览器端要换回来。不然,会出错。

java owc_使用微软OWC中做为联机分析系统前端展示工具相关推荐

  1. Java实现一行代码生成二维码,可传输到前端展示,可自定义二维码样式,可设置图片格式,可对二维码添加图片,可对二维码添加文字,可以设置二维码大小、字体大小、字体颜色、边框颜色、边框大小等等

    Java实现一行代码生成二维码,可传输到前端展示,可自定义二维码样式,可设置图片格式,可对二维码添加图片,可对二维码添加文字,可以设置二维码大小.字体大小.字体颜色.边框颜色.边框大小等等. 0.准备 ...

  2. Finger-一款红队在大量的资产中存活探测与重点攻击系统指纹探测工具

    Finger 一款红队在大量的资产中存活探测与重点攻击系统指纹探测工具 -h查看帮助 配置完api 就可以进行使用啦

  3. 使用java开发一个股票交易及量化投资回测分析系统

    经过近两年的研究和学习,我使用java开发(也使用了部分python,数据源:聚宽)出了一个股票交易及量化投资回测分析系统,将于近期陆续推出系列文章,向大家介绍一下整个开发过程,当整个系列文章都完成后 ...

  4. java 记录微信转发次数_微信分享追踪分析系统 ,可以精细统计朋友圈访客来访次数及时间和转发...

    当然,用同样的方式把你的项目或活动单独发给客户或是进行群发,易推创意-微信分享追踪分析系统后台同样或把你浏览次数多的时间长的客户直接抓取出来,提升了工作效率,业绩自然就提升了. 易推创意-微信分享追踪 ...

  5. Java jxl在excel模板中动态加入数据,及前端下载excel的例子

    写了一个小demo,把这样一个流程跑通,前端通过点击一个下载按钮,根据前端显示的数据,下载Excel文件到本地. 先分析一下整个流程 前端通过ajax的post请求,传递json字符串到后台. 后台接 ...

  6. java aqs源码_java中AQS源码分析

    AQS内部采用CLH队列.CLH队列是由节点组成.内部的Node节点包含的状态有 static final int CANCELLED =  1; static final int SIGNAL    ...

  7. 用python做一个舆情分析系统_如何用Python做舆情时间序列可视化?

    如何批量处理评论信息情感分析,并且在时间轴上可视化呈现?舆情分析并不难,让我们用Python来实现它吧. 痛点 你是一家连锁火锅店的区域经理,很注重顾客对餐厅的评价.从前,你苦恼的是顾客不爱写评价.最 ...

  8. [附源码]java+ssm计算机毕业设计基于web的学生成绩分析系统d7l60(源码+程序+数据库+部署)

    项目运行 项目含有源码(见文末).文档.程序.数据库.配套开发软件.软件安装教程 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ E ...

  9. 基于java+ssm+mysql的大学生考勤管理系统及智能分析系统

    1.管理员 管理员信息管理:对管理员信息进行增加.删除.查看.修改. 班级信息管理:对班级信息进行增加.删除.查看.修改. 教师信息管理:对教师的信息进行增加.删除.查看.修改. 学生信息管理:对学生 ...

最新文章

  1. php能实现文本复制吗,php 简单复制文件的方法
  2. python编写单实例总结
  3. 今天什么日子啊,这么倒霉。。。
  4. 创建JAVASCRIPT对象3种方法
  5. Win8下怎样安装Win7 or Win7下怎样安装win8?
  6. Hadoop入门(十一)Mapreduce的InputFomrat各种子类
  7. 墨刀原型制作 位置选择_原型制作不再是可选的
  8. “123456”连续七年霸榜,2019最糟糕密码榜单出炉
  9. wamp php 教程,WAMP 添加php新版本
  10. 离线语音识别应用(windows和Android)
  11. 【洛谷】P5960 【模板】差分约束算法
  12. 我选择了IT,我会用最大的热诚进军IT大技术!
  13. 云环境下搭建FTP服务器(不使用21端口)
  14. 候选码、主码、外码、主属性、主键、主关键字、非主属性
  15. vol.173 乱炖 · 公司基因论靠不靠谱?
  16. JavaScript 中 OnLoad事件用法总结
  17. 浅谈拉格朗日插值法及其应用
  18. 网络分层 之 五层因特网协议栈和七层因特网协议栈
  19. 莆田第十一中学2021年高考成绩查询,2021莆田市地区高考成绩排名查询,莆田市高考各高中成绩喜报榜单...
  20. jQuery条形图插件

热门文章

  1. 外壳IK碰撞冲击测试
  2. InstallShield 2010打包安装程序,安装完成后执行某个程序
  3. 【Odin插件】Unity补完计划
  4. matlab绘图指定标签
  5. GIS应用技巧之编辑矢量数据
  6. Python数据处理Tips数据连续变量常用10种处理方法
  7. HackTools————3、简易Web端口扫描
  8. 33复杂美简介?2021更新版
  9. 什么是 Java Mission Control?它是如何工作的?
  10. 「Wireshark网络分析就这么简单」 读书笔记