`
vern
  • 浏览: 16738 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

C# excel句柄释放

 
阅读更多

转载自http://topic.csdn.net/u/20081117/11/2cf68184-87b8-4e12-b3b9-b8c2ecf635d8.html

 

powerpoint也一样,"System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);"释放所有引用,最后System.GC.Collect();

C# code
object objmissing = System.Reflection.Missing.Value; Excel.ApplicationClass application = new ApplicationClass(); Excel.Workbook book = application.Workbooks.Add(objmissing); Excel.Worksheet sheet = (Excel.Worksheet)book.Worksheets.Add(objmissing,objmissing,objmissing,objmissing); //操作过程 ^&%&×&……&%&&…… //释放 sheet.SaveAs(path,objmissing,objmissing,objmissing,objmissing,objmissing,objmissing,objmissing,objmissing); System.Runtime.InteropServices.Marshal.ReleaseComObject((object)sheet); System.Runtime.InteropServices.Marshal.ReleaseComObject((object)book); application.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject((object)application); System.GC.Collect();
分享到:
评论

相关推荐

    C#无法关闭Excel进程的解决办法.

    ### C#无法关闭Excel进程的解决办法 在开发过程中,我们经常会遇到利用C#操作Excel文件的需求,尤其是在自动化办公或数据处理场景下。然而,在处理完毕后如何正确地释放资源并关闭Excel进程,是一个常见的问题。...

    C#利用com操作excel释放进程的解决方法

    在`KillExcel`方法中,我们先获取Excel窗口的句柄(HWND),然后调用`GetWindowThreadProcessId`获取对应的进程ID。接着,使用`Process.GetProcessById`找到该进程并调用`Kill`方法来强制结束它。注意,这种方法虽然...

    解析c#操作excel后关闭excel.exe的方法

    总的来说,处理C#操作Excel后关闭Excel.exe进程的问题,应优先保证资源的正确释放,如调用Excel对象的`Quit()`方法,然后通过适当的方式(如使用进程ID)安全地结束残留的进程。在实际开发中,还应考虑错误处理和...

    C#彻底结束Excel进程(源码)-WinAPI方式

    在.NET编程环境中,尤其是C#,开发者经常需要与Microsoft Office应用程序如Excel进行交互,例如读取、写入或操作Excel工作簿。然而,在处理完Excel文件后,有时会出现Excel进程无法正常关闭的情况,这可能会影响其他...

    调用Excel后的解决方法

    当我们在C#或ASP.NET应用程序中使用Microsoft.Office.Interop.Excel库操作Excel文件后,如果未能正确释放资源或关闭Excel进程,则可能会出现Excel进程挂起的情况。这种情况不仅会占用系统资源,还可能导致程序运行...

    CS强制关闭Excel进程

    - **知识点详解**:在C#中管理Excel进程的关键在于确保每个打开的Excel实例都被适当地关闭和释放资源。这包括但不限于: - 初始化Excel对象。 - 正确地打开和关闭工作簿。 - 在不再需要时释放COM对象。 - 强制...

    直接通过ODBC读、写Excel表格文件

    // 释放资源 SQLFreeHandle(SQL_HANDLE_STMT, hstmt); SQLDisconnect(hdbc); SQLFreeHandle(SQL_HANDLE_DBC, hdbc); SQLFreeHandle(SQL_HANDLE_ENV, henv); ``` 5. 写入数据:写入数据的过程类似,但需要执行INSERT...

    C# SendInput 模拟鼠标操作的实现方法

    在这个例子中,`x`和`y`分别代表相对于屏幕左上角的绝对坐标,`MOUSEEVENTF_ABSOLUTE`标志表示坐标是绝对值,`MOUSEEVENTF_LEFTDOWN`和`MOUSEEVENTF_LEFTUP`则表示按下和释放左键。 需要注意的是,`SendInput`函数...

    多窗体的应用

    C#的垃圾回收机制在一定程度上简化了这个问题,但开发者仍需注意对非托管资源(如数据库连接、文件句柄)的释放。 9. **异常处理**:为了确保程序的稳定性和健壮性,良好的异常处理机制是必要的。使用`try-catch-...

    免费DataGridView打印及.NET轻松打印控件5.0版

    6、解决了原EasyReport报表组件由于资源释放不及时,在多次重复使用时占用大量句柄而可能产生的不能打印或预览问题。 7、解决了DataGridView在有固定列(冻结列)的时候,有些情况下(DGV固定列的index与...

Global site tag (gtag.js) - Google Analytics