0

下午好,

一位客户向我提供了他的团队用来提供产品报价的电子表格文件。电子表格在基础表格中包含大量数据,并将这些表格称为报价单上众多公式的一部分。

我的任务是为这个工具启用网络,以便可以在客户端的网站上生成报价,托管在共享环境中,运行 ASP.net 3.5 网络表单。报价 Web 表单将位于由 ASP.net 会员 API 控制的网站的受限部分。

是否有 3rd 方工具可以很好地处理这类事情?

谢谢, 席德

4

1 回答 1

4

我曾经被要求做类似的事情。我拒绝了。其他人尝试过这个,它完全失败了。那是因为您的设计基于电子表格的结构。

当我被叫回来帮助这个项目时,我把之前的代码踢进了一个大垃圾箱,它会一直关闭直到地狱结冰!然后我开始分析 Excel 表格,提取业务逻辑并将它们写下来作为文档。这使我能够创建一个很好的设计来设置新项目的第一个版本,它不是基于 Excel 工作表,而是基于工作表中的业务逻辑。

不要试图落入这个陷阱!这听起来太容易了,但实际上,由于您将遇到所有问题,因此作为解决方案太昂贵了!


如果您的客户确实需要真正快速使用的东西,请从 .NET(带有最新服务包或更高版本的 VS2008)和 SQL Server 开始。首先创建一个简单的数据库结构来包含引号。根据需要添加尽可能多的关系。然后,使用VS2008,创建一个基于“动态数据实体”的新项目Web 应用程序”,它将使用实体框架连接到数据库。确保实体框架连接到您的数据库并提供所有数据。(通过向其添加“ADO.NET 实体数据模型”。)编译它,把它放在网络服务器上,0.1版应该准备好了。它将允许您的客户继续数据输入,虽然有点原始,同时保持所有数据的完整性。它仍然不足以暴露到外部世界,但它更容易摆脱 Excel 电子表格的数据部分。(从技术上讲,应该可以在一小时内围绕实体模型添加一个 RESTful 服务,以允许 Excel 从而是 Web 服务。)

创建此起始页面后,您的客户可以习惯通过网页输入数据,同时您有一些时间更多地分析他们的电子表格以优化数据模型并创建自定义逻辑和更好的数据输入页面。

基本上,这是我使用的方法。我的客户有 Excel 工作表中的数据,这些数据被导出到 Access 数据库,该数据库用作他的应用程序用户的只读数据。他使用 Excel 使数据保持最新。但是当多个用户开始在同一个 Excel 表中维护数据时,他就遇到了大麻烦,多次丢失 Excel 表的完整性和数据。

我首先使用实体​​框架/DDS 围绕 Excel 数据创建了一个简单的数据模型,以便于数据输入,然后我可以在客户继续修改数据的同时优化数据库结构。有时,我会更新数据库结构,添加更多关系并重组数据以进行更优化,并且有一次我添加了 RESTful 服务功能,以便客户可以通过简单的 Web 请求获取 XML 格式的数据。现在客户已经完全忘记了 Excel 工作表,而是全职使用该网站。他已经接受了将其变成一些花哨的网站将花费大量时间的事实,但目前的情况是可以接受的。

这种方法成功了,以前的尝试失败了,因为我只关注数据,仅此而已。现在我可以用小步骤来改进它。但第一步:分析 Excel 表并将数据转储到数据库中。Entity 框架将允许您围绕此快速构建简单的站点,而无需付出太多努力。

于 2009-09-08T20:47:09.287 回答