如何closures – 不保存具有自定义函数的Excel / xlsm工作簿,从C#

我有一个使用Interop.Excel从C#WindowsForms应用程序打开的具有自定义非时间依赖单元格函数的Excel工作簿。 我从它读取四个值,不执行明确的更改/计算,然后从C#closures它。

当我尝试直接closures(不保存),我得到一个保存提示。 我怀疑这是因为Excel正在将开放时的自动重新计算解释为创build更改,即使没有实际的数字或公式更改。 我也设置Excel.Application.Calculation = Excel.XlCalculation.xlCalculationManual 。 如何防止保存提示出现,并closures – 不保存?

当您使用Excel对象时,请确保像这样closures工作簿:

 Excel.Application xlApp ; Excel.Workbook xlWorkBook ; Excel.Worksheet xlWorkSheet ; object misValue = System.Reflection.Missing.Value; xlApp = new Excel.ApplicationClass(); xlWorkBook = xlApp.Workbooks.Add("Yourworkbook"); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); ....do your stuff xlWorkBook.Close(false, misValue, misValue); xlApp.Quit(); 

close方法中的false表示不保存更改。

最近我在做自动化的Excel,我发现这个链接是完美的解决schemeKill Process Excel C#