6

用编程语言进行类似电子表格的计算的最佳方法是什么?示例:需要在 Web 上提供多用户应用程序,该应用程序可以根据用户提交的数据处理数字列和单元格,例如电子表格。处理此类工作的最佳数据结构/数据库模型/模式是什么,以便在 php、java 甚至 .Net 中高效、轻松地处理不同的列。使用语言中的数据结构更好,还是使用数据库更好?如果使用数据库是一种方式,那么如何去做呢?

4

8 回答 8

2

要进行实际计算,请查看图论。基本上,您希望将每个单元表示为图中的一个节点,并将每个依赖项表示为有向边。接下来,进行拓扑排序,以正确的顺序计算每个单元格的值。

于 2009-08-07T21:57:32.670 回答
1

Aspose.Cells(以前的 Aspose.Excel.Web)是获得所需功能的好方法。

除非您要求更多“它是如何完成的?” 而不是“我需要这样做”。然后我会看看给出的其他答案。

于 2009-08-05T19:21:22.997 回答
1

沿着“我需要做”的思路,
Microsoft 拥有Excel Services,它可以满足您的需求。服务器上的电子表格操作。它可通过 Web 服务接口使用,因此您可以连接并驱动来自 Java、PHP、.NET 等的计算。

Excel Services 是 Sharepoint 2007 的一部分。

于 2009-08-05T19:30:00.200 回答
1

Resolver One是一个使用 IronPython 制作的电子表格应用程序。

一个关于计算的整体机制的解释[pythonology.org] 它用于用户生成的 ecuation。

Resolver One 处理用户生成的 ecuation 的整体算法概述

相关图片显示了 Resolver One 的整体算法。

应该注意的是,用户可以编写 python 代码在单元格和特殊的“工作表外”位置进行解释。

看看SO 中的另一个问题,我从那里重用了我的答案。

于 2009-08-06T17:45:58.020 回答
0

我不能告诉你怎么做。但我建议您查看PHPExcel的代码。PHPExcel 是一个允许您在 PHP 中创建 Excel 文件的库。

PHPExcel 的工作流程简化如下:

  1. 创建一个空的 Excel 文件对象
  2. 将单元格(带有数据或公式)添加到“Excel 文件”
  3. 调用创建文件本身的创建函数

在您的情况下,您必须将 3. 替换为“创建 Web 界面”之类的内容。

因此我建议你看一下这个开源项目的代码,看看它的一般结构是怎样的。这应该可以帮助您解决问题。

于 2009-08-07T21:32:27.713 回答
0

SpreadsheetGear for .NET可让您加载 Excel 工作簿、插入值、计算并获得结果。

您可以在此处查看一些简单的 ASP.NET 计算示例,在此处查看其他 ASP.NET 示例并此处下载免费试用版。

免责声明:我拥有 SpreadsheetGear LLC

于 2009-08-17T16:10:03.233 回答
0

我曾经使用二叉树来存储使用BODMAS解析字符串的输出。每个节点都是其他两个节点之间的操作,可以是数字、变量或其他操作。

所以 y = x * x + 2

变成:

          +
      *       2
   x     x

可悲的是,这是在帕斯卡的学校,存储在 5 1/4" 磁盘上,所以你不想要它:)

于 2009-08-08T07:17:56.540 回答
-1

我必须指出,谷歌电子表格已经做了这种事情。

于 2009-08-07T22:59:38.303 回答