创建一个新的excel文件,同时在c#windows窗体的excel文件中插入其他时间。

创建一个新的excel文件,同时在c#windows窗体的excel文件中插入其他时间。,c#,winforms,C#,Winforms,我有下面这个函数,它将值插入excel文件中的particualr单元格。当我第二次调用此函数时,它会打开一个新的excel文件,并且在将值输入到不同的excel文件时。如何打开单个excel文件,并将我的两个值输入到同一个excel文件中 private bool insertIntoExcel(string pathname , string sheetname ,int excelRow, int excelColumn,string value) {

我有下面这个函数,它将值插入excel文件中的particualr单元格。当我第二次调用此函数时,它会打开一个新的excel文件,并且在将值输入到不同的excel文件时。如何打开单个excel文件,并将我的两个值输入到同一个excel文件中

   private bool insertIntoExcel(string pathname , string sheetname ,int excelRow, int excelColumn,string value) 
            {
                try
                {

                    Microsoft.Office.Interop.Excel._Application oXL = new Microsoft.Office.Interop.Excel.Application();

                    oXL.Visible = true;

                    oXL.DisplayAlerts = false;

                    Microsoft.Office.Interop.Excel.Workbook mWorkBook = oXL.Workbooks.Open(pathname, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);

                    //Get all the sheets in the workbook

                    Microsoft.Office.Interop.Excel.Sheets mWorkSheets = mWorkBook.Worksheets;

                    //Get the allready exists sheet

                    Microsoft.Office.Interop.Excel._Worksheet mWSheet1 = (Microsoft.Office.Interop.Excel.Worksheet)mWorkSheets.get_Item(sheetname);

                    Microsoft.Office.Interop.Excel.Range range = mWSheet1.UsedRange;


                    mWSheet1.Cells[excelRow, excelColumn] = value;                      

                }catch
                {
                    return false;
                }
                return true;

            }

不要每次都新建Excel应用程序并打开工作簿。您应该将工作簿作为处理程序保留并保留它。使用处理程序执行插入或其他操作。

尝试显式关闭excel实例。我建议添加
mWorkBook.Close(1);oXL.Quit()最后
块中的code>语句。