在c#代码中执行excel文件中的UDF函数

我有一个自定义的Excel用户定义函数( udf ),从数据库获取数据到Excel工作表。 当我从ac#代码执行这个函数( =getData(A1,B1) )来获取excel文件的数据时,它将被放到一个单元格中,直到我手动打开文件。 这里是我的代码的一部分:

 var rng = workSheet.Range["A2"]; //where I will put the result table try{ rng.Formula = @"=getData(A1,B1)"; //A1 =Cell from where the function will get first argument String formula = rng.Formula.ToString(); rng.FormulaHidden = false; workSheet.Unprotect(); workBook.SaveAs(filePath, AccessMode: IExcel.XlSaveAsAccessMode.xlExclusive); formula = rng.Formula; bool hidden = rng.FormulaHidden; } catch..... //close opened instances of the Excel file 

是否有任何解决scheme来自动生成结果,并防止产生结果时(需要一段时间从数据库中获取数据)