数据访问后用C#关闭Excel应用程序进程

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我正在用C#编写一个应用程序,它打开一个Excel模板文件,以便进行读写操作。当用户关闭应用程序时,Excel应用程序进程已关闭,而不保存Excel文件。在这个应用程序多次运行后,请看我的任务管理器。

我使用此代码打开excel文件:

public Excel.Application excelApp = new Excel.Application();
public Excel.Workbook excelBook;
excelBook = excelApp.Workbooks.Add(@"C:/pape.xltx");

对于数据访问,我使用以下代码:

Excel.Worksheet excelSheet = (Worksheet)(excelBook.Worksheets[1]);
excelSheet.DisplayRightToLeft = true;
Range rng;
rng = excelSheet.get_Range("C2");
rng.Value2 = txtName.Text;

我在堆栈溢出中看到了类似的问题,但它不起作用。

提问于
用户回答回答于

试试这个:

excelBook.Close(0); 
excelApp.Quit();

关闭工作簿时,有三个可选参数:

Workbook.close SaveChanges, filename, routeworkbook 

Workbook.Close(false)或者,如果正在执行后期绑定,有时使用0更容易。Workbook.Close(0)这就是我在自动关闭工作簿时所做的工作。

用户回答回答于
xlBook.Save();
xlBook.Close(true);
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);

试试这个.它对我有效...你应该释放那个XL应用程序对象来停止这个进程。

扫码关注云+社区