输出excel后公式值为#NAME?
Spread里面用formula给单元格设置了这个公式=IFNA(VLOOKUP(A1,Sheet2!A:B,2,FALSE),""),输出excel后值是#NAME?。然后excel里面双击单元格后可以正常显示结果。请问怎么解决#NAME?的意思是不支持该公式名称,应该是spread webform不支持IFNA这个公式 下面是个人观点,不知道能不能解决你的问题。我怀疑是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中。
:hjyzw:, 这个问题的具体原因是产品不支持IFNA,可以自定义一个同名函数即可
页:
[1]