10

在你开始燃烧之前,我要告诉你,我试图说服自己这是一个坏主意。

基本上,我正在尝试创建一个具有一些基本会计功能的网站。我的朋友,一个只知道 excel 的顾问,问这是否可以是一个 excel 电子表格而不是一个 Web 界面。

我发现自己在想,为什么在这种情况下 excel 不是更好的工具?它拥有 web2.0 应用程序拥有的所有工具(脚本、数据库访问、基本格式),并且是为会计而设计的。您基本上可以使用 excel 编写一个程序,从 SQL 数据库中获取数据,填充一些单元格,然后使用公式处理其余部分。

是否有使用 excel 作为使用浏览器制作 ajax-y web2 应用程序的先例?

为什么这是个坏主意?

更新:只是为了澄清我的意思是这更像是一个“修辞”讨论。我不确定为什么消息的其余部分没有澄清...

4

11 回答 11

12

好吧,如果你用 excel 制作它,那么它就不会是一个真正的 Web 应用程序。这将是一个 Excel 应用程序。

但这并不是一件坏事。如果在 Excel 中构建应用程序更有意义,那就去做吧。

您在 Excel 中遇到的问题将与您在使用任何桌面与 Web 应用程序时遇到的问题相同。例如,您如何处理部署应用程序的新版本?您如何为新(或旧)版本的 Excel 更新应用程序?等等

预计到达时间:

如果您想避免 Excel VBA 的错误和管理桌面应用程序的麻烦,您可能需要查看Google 电子表格 API。您可以使用它即时创建/更新 Google 文档电子表格,包括公式和许多其他电子表格优点。使用 Web 应用程序和 Google 电子表格的混合体可能会给您带来两全其美的效果,具体取决于您需要做什么。

于 2009-06-29T20:51:41.717 回答
12

经过多年的 Excel-VBA 编程,我可以给你的最好的答案是不这样做:

Excel-VBA 有问题!它可能是微软生产的漏洞最多的应用程序。这对于某些任务来说非常有用,但强迫它去做从未打算做的工作会导致麻烦。

我有一些电子表格可以做类似的事情,(比尔从来没有打算做的事情),无一例外,它们都在失败的边缘摇摇欲坠,并且往往会因为最轻微的挑衅而崩溃。

当然,你可以做到,但头痛是不值得的。

于 2009-06-29T20:54:11.273 回答
3

Excel 不适合那样使用,所以会很痛苦。

网络电子表格集成的两个更好的想法:

  • 看看Resolver One,这是一个可编程的 Excel 兼容电子表格,带有集成的 Web 服务器。
  • 使用Google 文档电子表格。有一个 API可以以编程方式与它们交互。
于 2009-06-29T20:55:44.953 回答
2

这不是一个坏主意,但它确实有一些限制。如果部署对您来说不是问题,并且您不需要对应用程序的“通用”访问,那么您的解决方案可能会为您节省一些时间。Web 应用程序肯定是一种更优雅的方法,特别是如果您想公开该软件。

于 2009-06-29T20:50:00.207 回答
1

Web 本质上是基于 HTML 的,并添加了数据库、CSS 和服务器端语言以及 javascript(可能还有其他语言)。与大多数事情一样,您应该为工作使用正确的工具。如果您想要一个网站,那么您应该使用创建网站的工具。

Excel 并不是用来制作网站的,强迫它这样做可能会导致更多的挫败感而不是快乐。

于 2009-06-29T20:47:02.630 回答
1

这是一个坏主意,原因与使用 MS Access 编写图形编辑器不好,或者使用 Powerpoint 编写 MMORPG 不好 :)

我还要说,一旦您停止使用浏览器作为客户端,它就不再是“Web 应用程序”——您实际上只是在谈论通过 HTTP 获取其数据的 Excel 工作表。

于 2009-06-29T20:51:22.713 回答
1

好吧,您将在服务器端运行它,您可能会遇到许可和性能问题。

如果您将 .xls 交付给客户,那么您需要所有客户都拥有 Excel 或兼容的东西。但是你也会失去对你的“网站”的控制——如果你在本地拥有你需要的一切,那么访问有什么意义呢?

于 2009-06-29T20:51:29.407 回答
1

那么,SQL 语句会在客户端上吗?这很少是一个好主意。

于 2009-06-29T20:56:12.703 回答
1

对所有说“Excel 应用程序不是 Web 应用程序”的人 +1。

但是...如果您想将电子表格隐喻用于 Web 应用程序的服务器端计算,或者如果您想从服务器端代码访问 Excel 附带的财务函数库,您可以使用Excel Services。它通过 SOAP 公开,可互操作,可从任何支持 SOAP 的平台调用。

它具有服务器功能。它实际上并不在服务器上加载 Excel,而是函数的非 GUI 运行时。

于 2009-06-29T21:07:44.413 回答
1

我认为使用 Excel 作为浏览器是个坏主意,但我认为更好的主意是在桌面应用程序中使用 Excel 控件。

这样你就可以控制sql和连接。您可以根据需要随时保存数据。您还可以实现一些更新机制。应用程序会更安全,更难破解。

我认为当您尝试连接到某些外部资源时,Excel 会冻结,这样您就可以控制一切。

于 2009-06-29T21:43:42.233 回答
0

您是否从获取此应用程序的用户需求开始?这听起来不像他们想要一个网站开始。听起来他们想要一个带有宏的 Excel 电子表格。

于 2009-06-29T20:56:42.767 回答