【发布时间】:2013-10-25 07:23:50
【问题描述】:
我目前正处于一个应用程序的设计阶段,该应用程序目前在 Excel 中运行。它是一个包含复杂数学(三角、代数等)公式的科学应用程序。最初我尝试在代码中做所有事情,但很快发现将这些科学公式转换为 .NET 会非常繁琐(很有可能出现错误)。
另一种选择是使用 Excel 电子表格及其单元格公式的“模板”,其中 .NET 中的用户界面允许用户输入数据,.NET(网络应用程序)将此输入数据传递给 Excel 电子表格, excel 电子表格完成工作并给出结果,.NET 应用程序读取并显示给用户。 (这是对拟议设计的简化解释)。
它将是 Web 应用程序(不是面向公众的站点)。
其中一个问题(我认为)是当多个用户使用该应用程序时,excel 文件将出现多线程读/写问题。 为了克服这个问题,我想将文件的副本存储在 SQL 数据库中,将其复制到每个会话中使用 Guid 名称(使其唯一)的临时文件夹,并在完成后删除文件等。
我的问题是,有没有人看到这个计划中的任何缺陷或缺点,例如性能、读/写 excel 等或我需要考虑的其他任何事情? 我打算使用 OpenXML 和 ClosedXML 库。我是否需要在部署服务器上安装 Office 才能正常工作? (我本以为不会)。
谢谢,
【问题讨论】:
-
不要在web环境中使用excel,出现bug的概率是110%...
-
使用 OpenXML 将避免在服务器上安装 Excel。但是,OpenXML 只允许您修改 Excel 文件。要执行计算,您必须在 Excel 中打开文件,而在 Web 应用程序中执行此操作可能会涉及黑客攻击和挫败感。
-
@MartinLiversage 我认为对于计算部分我可以做这样的事情......stackoverflow.com/questions/2668643/…
标签: asp.net .net multithreading excel openxml