使用SharePoint快速分发Excel应用
每个企业都暗藏着一些Excel高手,他们可以熟练地使用Excel,利用Excel强大的公式和VBA代码对企业数据进行复杂的业务处理。
背景
每个企业都暗藏着一些Excel高手,他们可以熟练地使用Excel,利用Excel强大的公式和VBA代码对企业数据进行复杂的业务处理。
这些包含复杂业务逻辑的Excel代码,常常需要随着企业的业务调整而相应调整。调整后的Excel如何能够快速分发到需要使用这些数据的用户手中,确保用户手中的数据和处理数据的算法保持在更新状态,是企业IT人员面临的一个难题。
除了分发的问题以外,还有一些使用Excel开发的业务代码包含需要保密的算法,企业不希望这些算法随着Excel被分发给普通用户,甚至是外部用户。
解决方案
针对上述需求,水杉SharePoint解决方案团队提出方案如下图所示:
- 使用APortal表单设计器,根据原来需要在Excel中填写的输入参数和返回的输出结果,设计了表单页面推送到客户的SharePoint服务器上。
- 随后在SharePoint服务器上部署Excel DCOM组件,并将包含自定义算法代码的Excel文档放在SharePoint服务器可访问的目录下,供Excel DCOM组件调用。
- 用户通过登录SharePoint,在表单页面中填写输入参数后提交。表单页面将用户填写的输入参数传递给服务端的Excel DCOM组件,由DCOM组件在服务器端创建一个Excel线程打开Excel文档,将传入参数传递给Excel文档并触发Excel内置的自定义代码对传入参数进行处理。
- Excel处理完成后将处理结果交给Excel DCOM组件,DCOM组件再将输出结果数据传递给表单页面进行展示;用户通过表单页面查看结果,并可以将输出结果数据下载到本地。
实施效果
通过本方案的实施,用户可随时登录部署在SharePoint服务器上的表单页面,填写输入参数并获取最新的计算结果,而不会出现从前那种因Excel文档的版本不一致而导致数据偏差的情况。
Excel的维护人员可随时更新或调整算法,并更新到服务器端供用户调用。而无需在更新算法后重新分发Excel文档。也从一定程度上避免了Excel内置的算法流失到企业外部。
IT部门利用这个方案而无需将Excel中的复杂逻辑和算法重新翻译为另一种Web页面可以直接调用的语言逻辑。业务部门可以继续利用他们的Excel开发能力维护现有工具,并且可以方便地在企业内、外部分享工具提供的计算能力。