Excel作为数据源?

我正面临着一些在90年代为了一些财务计算而写的Excel表单的巨大挑战。 基本上有大约100个不同的excel表(结构,内容,公式,macros等不同),这需要集成到一个单一的应用程序,从而使所有这些擅长退役。

Excel表格的一些function:

  • 每个Excel表格都有一些定义数量的表单,其中有与之相关的公式和macros。 这些macros是用VBA编写的,并且以XLL的forms使用了大量的插件。

  • 每个Excel工作表都有一些用户定义的工作表,这些工作表依赖于用户input的数据和预定义的工作表来计算仪器的价格。最重要的是用户将数据input到用户创build的工作表中,预定义表单根据此计算出某些内容,并在用户定义的表单中再次引用结果。

我们正在考虑各种分解方法,如下所示:

  • 在Excel 2010中使用Excel Services,将Excel表格作为Web服务公开,并编写一个客户端应用程序,该应用程序将执行用户定义的部分,然后与Excel服务进行通信以获得结果(还将写入预定义的表格在excel服务中)

  • 使用Excel自动化(??)

我的问题是,在这里最好的办法是停止这些出色的工作?我所要做的就是写出excel单元格,让公式/macros在那里发挥一部分来计算结果,找回结果。也非常热衷于不重新创build整个Excel,即重新创build已经到位的公式/插件,而是将它们合并。

任何意见将不胜感激!

欢呼声,迈克

如果我们忽视特定的技术,尽pipe有可能的组合,你有三个基本的select:

  1. 保留现有的Excel工作簿在后台并提供新的前端。
  2. 迁移VBA到一些新的工具。
  3. 确定您的用户,他们今天和明天需要的function,并实施。

如果选项1没有给你最便宜和最快的集成,我会感到惊讶。 缺点是你仍然依赖于那些旧的Excel工作簿。 它们是基于早期版本的Excel还是已经迁移? 如果不是,他们是否使用最新的硬件和操作系统? 他们会和明天的硬件和操作系统一起工作吗? Microsoft为保持向后兼容性付出了巨大的努力,但这并不意味着他们可以实现100%的向后兼容性,也不会保证向后兼容性。

选项2是否可行? 你知道每个练习册的作用吗? VBA可以被迁移/转换成新的工具,但是加载项呢? 你有源吗? 你有文件吗? 依靠文档的麻烦是一些错误成为人们使用的无证的function。

使用选项3,您不必担心带来任何问题。 您为今天和明天select合适的工具,并使用它来实现您所需的function。 你必须小心一点。 如果你问用户是否需要设施X,他们会说不pipe。 要问的问题是:你用什么工具X?

每个选项都有风险? 你有没有获取风险的信息? 你能把与这些选项相关的工作和风险计算在内吗? 只有当你可以的时候,你才能够select一种方法,然后select一种技术。

我不熟悉Sharepoint,所以无法比较,但是对于Excel自动化来说,打开一个表单,在其中input一些值并读取结果是非常有可能的。 它甚至可以在视觉上完成,就好像有人在屏幕上打开Excel并做了一些事情。 如果你的旧表是兼容的,我会使用一些现代的.Net语言。