posts - 73, comments - 153, trackbacks - 3, articles - 2
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

如何让Excel Service报表在客户端的桌面上自动刷新?

Posted on 2010-02-03 08:49 风中的舞蹈 阅读(...) 评论(...) 编辑 收藏

运用Sharepoint 2007中的Excel Service的功能,我们可以很容易的将隐含在企业各种应用系统后台数据库中的数据,根据需要以各种各样的报表呈现在企业的门户中,这就是我一直认为的Sharepoint技术对企业最有价值的地方,所谓的商务智能功能——其实在SPS2003的时候,叫做数据集成,使用的也是Office的组件,不过当时没有Excel Service,有的只是OWC,使用数据透视表的功能进行报表的呈现。

SPS2003时由于相关的文档几乎找不到,所以即使做成了报表,数据的刷新一直解决不了。当然,到了Sharepoint2007,Excel Service的配置也同样复杂,要正确配置并能保证数据能够正常刷新,最佳的做法还要正确配置SSO。我这里说的不是这个部分的配置,而是假设我们配置了完整的服务器端的Excel Service的功能,从门户上每次打开报表也能够自动刷新数据以后,我们还要做的进一步的工作。

仔细研究过Excel Service的都会知道,其实Sharepoint 2007的Excel Service不仅配置相当的复杂,而且那个用于展现报表的Excel Web Access Web部件还是相当的不完善:当Excel Service报表在Web中打开的时候,默认的设置只显示75行的数据;虽然我们可以手工调整,但是使用数据透视表,需要显示的数据的多少是不确定的,因此在Web上不可能显示所有我们需要的数据,这样的话,这项功能其实就是不完整的。

鉴于以上的情况,我决定改变做法,让报表的使用者在自己的桌面打开,并能够自动刷新,这样做其实比在门户中打开,更容易被接受。因为在本机的桌面上打开一个文件,比从门户中的一个位置打开这个报表的操作要简单和方便的多。于是我将门户中的报表下载了一个副本放在了桌面,并打开了这个文件:

出现了安全警告,禁用了数据连接,意味着我的数据并没有被刷新,虽然我们可以手动的点启用内容,但这不是我们想要的结果,我们需要达到的目的是,当我们打开报表文件,所有的数据就是最新的——自动查询了数据库。

按照安全警告的提示,我打开了Excel的选项,惊讶的看到Excel中也有个信任中心,打开信任中心设置,添加信任位置,于是我想起了Sharepoint中的Excel Service的配置,于是把数据链接库的位置添加了进去,谁知打开后依然是数据连接被禁用,仔细回想了一下,把excel报表的位置也添加了进去,并且也把桌面添加到了信任中心中,这样,终于实现了在客户桌面的报表的自动刷新。

结论:要在Excel中打开报表并自动刷新,需要添加两个受信任位置:

1、将数据连接库添加到Excel的受信任位置中。

2、将报表文件本身的位置添加到Excel的受信任位置中。