从 datagridview 导入后关闭 Excel 进程

Close Excel process after importing from datagridview

如上所述,我不知道如何在将数据从我的 datagridview 导入到 xls 文件后关闭 Excel 进程。问题是,当我将数据保存到 xls 文件时,我仍然可以在后台看到 Excel 进程 运行。如果我打开同一个文件将数据导入回我的 datagridview,两个 Excel 进程现在处于活动状态。

知道如何解决这个问题吗?

这是我将数据保存为 xls 文件的代码:

private void ExportDataToExcelToolStripMenuItem_Click(object sender, EventArgs e)
    {
        SaveFileDialog SaveExcel = new SaveFileDialog()
        {
            Title = "Save Excel File",
            CheckPathExists = true,
            DefaultExt = "txt",
            Filter = "Excel files (*.xls)|*.xls",
            FilterIndex = 1,
            RestoreDirectory = true
        };

        if (SaveExcel.ShowDialog() == DialogResult.OK)
        {
            Excel.Application xlApp;        //Implementierung der Applikation, welche die Daten aus dem DataGridView in eine xls Datei schreiben kann
            Excel.Workbook xlWorkBook;
            Excel.Worksheet xlWorkSheet;
            object misValue = System.Reflection.Missing.Value;

            xlApp = new Excel.Application();
            xlWorkBook = xlApp.Workbooks.Add(misValue);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);       //get_Item(1) ist essentiell, da festgelegt wird auf welchem Sheet das gespeichert wird. In diesem Falle auf Sheet 1
            int i = 0;
            int j = 0;

            for (i = 0; i <= DataGridViewCell.RowCount - 1; i++)
            {
                for (j = 0; j <= DataGridViewCell.ColumnCount - 1; j++)     //Die Zeilen und Spalten vom DataGridView werden gelesen
                {
                    DataGridViewCell cell = DataGridViewCell[j, i];
                    xlWorkSheet.Cells[i + 1, j + 1] = cell.Value;       //Daten werden den Spalten und Zeilen der xls Datei hinzugefügt

                }
            }

            xlWorkBook.SaveAs(SaveExcel.FileName, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);     //Daten werden in einer xls Datei gespeichert
            xlWorkBook.Close(0);        //Excel Applikation wird wieder geschlossen und Prozess angehalten
            xlApp.Quit();       

            ReleaseObject(xlWorkSheet);
            ReleaseObject(xlWorkBook);
            ReleaseObject(xlApp);
        }
foreach (Process closeProcess in Process.GetProcesses())      
            {
                if (closeProcess.ProcessName.Equals("EXCEL"))
                {
                    closeProcess.Kill();
                    break;
                }
            }

这对我有用