我该如何解析excel公式?

时间:2016-07-11 12:07:56

标签: c# vb.net excel

我正在将复杂Excel工作表中的功能转换为ASP.Net项目。在这里我要求使用VB.NET或c#解析/处理类似公式的excel。

我有一个类似网格的结构,显示会计数据,允许用户在所需的单元格中预先配置公式。

示例: - 在我的datagrid Cell [2] [1]中,我应该可以配置

公式=总和(单元格[1] [1] +单元格[1] [2])

有没有办法可以从vb.net/c#解析/处理excel公式?

1 个答案:

答案 0 :(得分:0)

您可以使用FLEE库来评估类似C#的表达式

// Create the calculation engine
CalculationEngine engine = new CalculationEngine();
ExpressionContext context = new ExpressionContext();
VariableCollection variables = context.Variables;

// Add some variables
variables.Add("x", 100);            
variables.Add("y", 200);

// Add an expression to the calculation engine as "a"
engine.Add("a", "x * 2", context);

// Add an expression to the engine as "b"
engine.Add("b", "y + 100", context);

// Add an expression at "c" that uses the results of "a" and "b"
engine.Add("c", "a + b", context);

// Get the value of "c"
int result = engine.GetResult<int>("c");

// Update a variable on the "a" expression            
variables["x"] = 200;

// Recalculate it
engine.Recalculate("a");

// Get the updated result
result = engine.GetResult<int>("c");