如何以编程方式禁用Excel中的公式错误检查

我尝试在几个步骤中将公式设置为C#中的Excel单元格,但是在设置过程中,似乎由于公式无效,Excel会引发exception。 我不知道如何closuresC#中的公式错误检查。 谢谢

编辑公式太长,超过255个字符。 所以我不能一步一步地设定公式。 必须设置一个简短的公式,然后replace见http://netoffice.codeplex.com/discussions/402947

看到下面的代码,但我在rng.Formula = onePart;

其中Constants.CUT_LENGTH = 253,Constants.MAX_FORMULA_LENGTH = 255,Separator =“||” 我尝试将EvaluateToError设置为false,仍然出现错误

XLApp.ErrorCheckingOptions.InconsistentFormula = false; XLApp.ErrorCheckingOptions.EvaluateToError = false; SetFormula(rangeFunction, formula); public static void SetFormula(Range rng, string origFormula) { int i = 0; foreach (var onePart in CutStringIntoSubstrings(origFormula)) { if(i==0) { rng.Formula = onePart; i++; } else { rng.Replace(Constants.Separator, onePart); } } } public static IEnumerable<string> CutStringIntoSubstrings(string origFormula) { if (origFormula == null) yield return string.Empty; if (string.IsNullOrEmpty(origFormula)) yield return string.Empty; if (origFormula.Length <= Constants.MAX_FORMULA_LENGTH) yield return origFormula; int startIdx = 0; int endIdx = startIdx + Constants.CUT_LENGTH; while(endIdx < origFormula.Length) { var substr = origFormula.Substring(startIdx, Constants.CUT_LENGTH); if(startIdx + Constants.CUT_LENGTH < origFormula.Length) { substr += Constants.Separator; } yield return substr; startIdx += Constants.CUT_LENGTH; endIdx = startIdx + Constants.CUT_LENGTH; } if (startIdx < origFormula.Length) yield return origFormula.Substring(startIdx); }