下面是个人观点,不知道能不能解决你的问题。 我怀疑是IFNA和VLOOKUP函数没有注册到Spread.NET中。 在使用Spread.NET设置公式时,涉及到调用Excel内置函数,而Excel内置函数在.NET中不是默认可用的。如果在生成的表格中公式的结果为 #NAME?,则说明Spread.NET无法识别这个Excel内置函数。 因为在使用该公式之前,需要先将Excel内置函数注册到Spread.NET中。对于公式中用到的IFNA和VLOOKUP函数,可以通过在程序中添加以下代码,使用SpreadCalcFunction.RegisterGlobalFunction()方法将这两个函数注册到Spread.NET中: // 注册IFNA和VLOOKUP函数FarPoint.CalcEngine.Functions.CommonFunctions.RegisterIfna();FarPoint.CalcEngine.Functions.LookupFunctions.RegisterVlookup();// 注册函数到Spread.NETFarPoint.Web.Spread.calcEngineUtility.RegisterGlobalFunction("IFNA", FarPoint.CalcEngine.Functions.CommonFunctions.IFNA);FarPoint.Web.Spread.calcEngineUtility.RegisterGlobalFunction("VLOOKUP", FarPoint.CalcEngine.Functions.LookupFunctions.Vlookup); 上述代码在ASP.NET应用程序中加载时进行调用即可。这样,在生成的表格中就可以正常使用IFNA和VLOOKUP函数了。 请注意,由于Spread.NET中不支持所有Excel内置函数,因此可能需要执行某些自定义函数。对于自定义函数,也可以使用SpreadCalcFunction.RegisterGlobalFunction()方法将其注册到Spread.NET中。
|