将excel应用程序转换为C#应用程序

时间:2012-08-04 04:21:18

标签: c# .net excel

我有一个带有一个输入页面和一个结果页面的Excel应用程序。根据输入到输入页面的数据和一些静态表格,还有一些其他工作表可以计算这些值,并在结果页面中稍后对其求和。

我需要将此应用程序转换为Web应用程序并将整个逻辑从excel移动到C#。将有一些UI页面和1个结果页面,excel应用程序中当前的工作表计算将被移动到不同的C#类。

是否有任何工具,或者我们是否必须手动将现有逻辑的每一部分转换为C#?如果我们必须手动完成,那么是否有任何工具可以帮助汇总文本文件中的逻辑,这样我们就不必在Excel中回溯整个计算来重建逻辑?

4 个答案:

答案 0 :(得分:2)

我不会尝试“转换”解决方案。从头开始在C#中构建它。它们用不同的语言编写,UI无法重复使用。

答案 1 :(得分:2)

我怀疑一个工具可以帮助你做到这一点,如果该工具存在,我希望得到的C#代码非常糟糕。 Excel的一个优势是它允许非常灵活的编程风格;缺点是生成的代码结构非常少,这使得人类和机器都难以遵循。最重要的是,逻辑可以采用多种形式,从Excel公式到VBA宏,这使问题复杂化。

相比之下,C#倾向于在课堂上看世界,这些课程具有非常具体的责任;程序本质上协调在类之间传递消息,以便它们可以“相互通信”并协作完成工作。

在这种情况下,充其量,我希望翻译工具能够产生一些不愉快的C#程序。最后,电子表格(没有VBA)是一组位于单元格中并链接在一起的函数,没有足够的结构来提取具有多种功能的有意义的类/实体。

此外,我认为重新思考这个应用程序是一个机会。 Web应用程序可以轻松完成Excel无法做到的事情,反之亦然。我将重点放在保留应用程序的精神上而不是“逐字逐句”的密切翻译,而是在不考虑原始Excel应用程序的情况下进行设计。

使用Excel应用程序的好处是您已经拥有概念证明。我不是试图转换代码,而是简单地追踪所有对其他计算字段有影响的输入点(可能使用审计),列表/图表影响什么(可能用简单的气泡和箭头图表),并尝试用简单的英语描述用户尝试做什么,以及用“实体”发生什么。例如,我会说“产品净成本是其成本时间(1 - 折扣率)”,而不是=A2*(1-A3)。而不是=SUM(A5:A32),我会说“用户想要他所订购产品的成本摘要,这应该显示他的订单的总成本,以便他可以概述他的订单”。如果您设法使用好名称和用例提取域名描述,那么开发人员可以在您可能需要的任何平台上编写支持这些要求的最佳应用程序。

答案 2 :(得分:0)

我同意fabiopagoti。即使有一个神奇的“转换器”可供使用,人们敢于在未来的更新中维护这种机器编码应用程序吗?

回答第二个问题,寻找另一个帮助,I've found [CTRL] + [`] 组合键,可以帮您解决这个问题:此快捷方式显示所有公式在细胞中,所以你可以更加舒适,你不会遗漏任何背后的东西。我希望。

PS:要发短信?只需应用快捷方式并将工作表“打印”为PDF文件。

答案 3 :(得分:0)

可能您可以使用Google文档。它允许创建脚本并使用公式。