C# 如何解析excel公式?

C# 如何解析excel公式?,c#,vb.net,excel,C#,Vb.net,Excel,我正在将复杂excel表中包含的功能转换为ASP.Net项目。在本文中,我需要使用VB.NET或c#解析/处理类似excel的公式 我有一个网格状的结构,显示会计数字,允许用户在所需的单元格中预先配置公式 示例:-在我的datagrid单元格[2][1]中,我应该能够配置 公式=总和(单元格[1][1]+单元格[1][2]) 有没有一种方法可以从vb.net/c#解析/处理excel公式 您可以使用库来计算类C表达式 // Create the calculation engine Calcul

我正在将复杂excel表中包含的功能转换为ASP.Net项目。在本文中,我需要使用VB.NET或c#解析/处理类似excel的公式

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

示例:-在我的datagrid单元格[2][1]中,我应该能够配置

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

有没有一种方法可以从vb.net/c#解析/处理excel公式

您可以使用库来计算类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");
//创建计算引擎
CalculationEngine=新的CalculationEngine();
ExpressionContext=新的ExpressionContext();
VariableCollection变量=context.variables;
//添加一些变量
变量。添加(“x”,100);
变量。添加(“y”,200);
//将表达式作为“a”添加到计算引擎
添加(“a”,“x*2”,上下文);
//将表达式添加到引擎中作为“b”
添加(“b”,“y+100”,上下文);
//在“c”处添加使用“a”和“b”结果的表达式
添加(“c”,“a+b”,上下文);
//获取“c”的值
int result=engine.GetResult(“c”);
//更新“a”表达式上的变量
变量[“x”]=200;
//重新计算
引擎。重新计算(“a”);
//获取更新的结果
结果=engine.GetResult(“c”);