Excel公式到C#代码
我想将Excel电子表格转换为C#代码的一个组件。 为了得到它,我想通过互操作将包含正则表的所有单元格都放到c#中。 在c#模块中,我想用不同的值来解决定义的公式,取代了公式中的单元格引用。 有没有一个框架,我可以例如将“SUM($ C3:$ C5)”从excel转换为“var sum = c3 + c4 + c5;” 或semilar公式?
戈登
这是你会重复或只是一次?
我们使用www.spreadsheetgear.com来处理来自C#的Excel电子表格,它的工作原理非常奇妙。 我们的需求是不同的,所以你应该学习API来看看它是否允许你访问论坛的文本,但我认为它可能。
没有从属关系 – 只是一个满意的客户。
我想你正在C#中寻找一个expression式求值器。
Google发现了一些我认为你应该看的东西:
- Codeplex上的快速轻量级expression式评估器 。
- 关于CodePlex的ILCalc – “这个项目的灵感来源于FLEE项目,但是写法不同,更容易。”
- NCalc是CodePlex上的另一个 – 评估自定义函数并使用Unicode,这可能对您很重要。 有一个相关的CodeProject文章 。
- 有 Jonathan Wood 的这篇C#expression式评估文章 。
- Spring.net框架中有一个。
- Pascal Ganaye的CodeProject文章 。
- 或者你也可以从Bart de Smet的DynCalc例子开始。
您可能还需要实现所有这些内置的Excel函数。 有一个图书馆的所有财务function在Luca Bolognese的F#中重新实现 – 在MSDN上find它。
比你需要更多的功率,但有一些运气,只需要一个薄的接口包装,以将数据从execl泵入公式引擎:
FormulaEngine是一个.NET程序集,使您可以将公式支持添加到您的应用程序。 它负责parsing和评估公式,跟踪它们的依赖关系,并按自然顺序重新计算。 公式语法和引擎的许多function都是Excel的直接副本,确保了用户的低学习曲线。
链接: FormulaEngine
更新:我最近开始了一个类似的python库: pycel
我不知道你的最终目标,但是在excel中编写一些VBA代码来计算你的公式,而不是强迫电子表格通过改变引用和值来计算东西,可能不是那么容易吗?
检查出ActiveMesa X2C ,这正是。 (免责声明:我是该产品的作者。)