.Net Excel Interop Deleting a worksheet

后端 未结 7 775
深忆病人
深忆病人 2020-12-01 17:53

I\'m trying to delete a worksheet from a excel document from a .Net c# 3.5 application with the interop Excel class (for excel 2003).

I try many things like :

<
7条回答
  •  天涯浪人
    2020-12-01 18:43

    we can delete the work sheet like this

     Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
    
                    if (xlApp == null)
                    {
    
                        return;
                    }
    
    
                    xlApp.DisplayAlerts = false;
                    string filePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
                                            + "\\Sample.xlsx";
                    Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
                    Excel.Sheets worksheets = xlWorkBook.Worksheets;
    
                    worksheets[4].Delete();
                    worksheets[3].Delete();
                    xlWorkBook.Save();
                    xlWorkBook.Close();
    
                    releaseObject(worksheets);
                    releaseObject(xlWorkBook);
                    releaseObject(xlApp);
    

    and use this

      static void releaseObject(object obj)
            {
                try
                {
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
                    obj = null;
                }
                catch (Exception ex)
                {
                    obj = null;
                    throw ex;
    
                }
                finally
                {
                    GC.Collect();
                }
            }
    

提交回复
热议问题