我怀疑一个工具,可以帮助你做到这一点,如果该工具存在我期望得到的C#代码是非常糟糕的。 Excel的一个优势是它允许非常灵活的编程风格;缺点是结果代码的结构非常小,这使得人们和机器都难以遵循。最重要的是,逻辑可以采用多种形式,从Excel公式到VBA宏,这使问题复杂化。相比之下,C#倾向于用类来表达世界,它具有非常特定的职责;一个程序本质上是协调类之间传递的消息,以便他们可以“互相交谈”并协作完成工作。
在这种情况下,最好的,我希望翻译工具产生一些不愉快的C#程序。最后,电子表格(没有VBA)是一组函数,它们坐落在单元格中并链接在一起,但没有足够的结构来提取有意义的具有多个功能的类/实体。
此外,我认为重新思考这个应用程序是一个机会。一个Web应用程序可以轻松完成Excel无法执行的操作,反之亦然。我不是一个“一字一语”的密切翻译,而是专注于保留应用程序的精神,但是设计它时不会过多地考虑原始的Excel应用程序。
让Excel应用程序呈现的好处是您已经有了概念验证。我不是试图转换代码,而是简单地追踪所有对其他计算字段有影响的输入点(可能使用审计),列表/图表什么会影响什么(可能使用简单的气泡图和箭头图),并试图用简单的英语来描述用户试图做什么,以及“实体”方面发生了什么。例如,而不是=A2*(1-A3)
,我会说“产品净成本是其成本时间(1-折扣率)”。而不是=SUM(A5:A32)
,我会说“用户需要他订购的产品成本摘要,它应显示其订单的总成本,以便他可以对其订单进行概览”。如果您设法使用良好的名称和用例来提取域名的描述,这对开发人员来说更有帮助,可以在任何您想要的平台上编写支持这些需求的最佳应用程序。