说明一下:
private Excel.Application _xlApp;//Excel应用程序
private Excel.Workbook _xlWorkbook;//获取Excel工作薄,默认为调用Open([Template])时创建
private Object oMissing = System.Reflection.Missing.Value; //实例化对象时缺省参数
我们实例并打开Excel时至少会用到
xlApp= new Excel.ApplicationClass();
创建一个Excel应用,可是一般每实例一次就产生一个Excel进程,这里提供安全彻底关闭实例Excel.Application后产生的进程,方法中的_xlWorkbook为实例ApplicationClass后
_xlWorkbook = _xlApp.Workbooks.Add(oMissing); //创建并返回Excel工作薄
/// <summary>
/// 关闭实例Excel.Application后产生的进程
/// </summary>
public void Close()
{
if (_xlApp != null)
{
int generation = 0;
_xlApp.UserControl = false;
//如果您将 DisplayAlerts 属性设置为 False,则系统不会提示您保存任何未保存的数据。
//_xlApp.DisplayAlerts = false;
if (_xlWorkbook != null)
{
//如果将 Workbook 的 Saved 属性设置为 True,则不管您有没有进行更改,Excel 都不会提示保存它
//_xlWorkbook.Saved = true;
try
{
////经过实验,这两句写不写都不会影响进程驻留。
////如果注释掉的话,即使用户手动从界面上关闭了本程序的Excel,也不会影响
//_xlWorkbook.Close(oMissing,oMissing,oMissing);
//_xlWorkbook = null;
}
catch
{
//用户手动从界面上关闭了本程序的Excel窗口
}
}
//即使用户手动从界面上关闭了,但是Excel.Exe进程仍然存在,用_xlApp.Quit()退出也不会出错,用垃圾回收彻底清除
_xlApp.Quit();
//System.Runtime.InteropServices.Marshal.ReleaseComObject((object)_xlApp);
generation = System.GC.GetGeneration(_xlApp);
_xlApp = null;
//虽然用了_xlApp.Quit(),但由于是COM,并不能清除驻留在内存在的进程,每实例一次Excel则Excell进程多一个。
//因此用垃圾回收,建议不要用进程的KILL()方法,否则可能会错杀无辜啊:)。
System.GC.Collect(generation);
}
oMissing = null;
}
http://community.csdn.net/Expert/topic/4252/4252815.xml?temp=.2856562
分享到:
相关推荐
Excel.dll 用OFFICE 2007 的excel.exe 制作成的Excel.dll 。可以到出excel表格。
Excel常用函数功能、Excel常用函数功能、用法及实例剖析.chm用法及实例剖析.Excel常用函数功能、用法及实例剖析.chmchmExcel常用函数功能、用法及实例剖析.chm
ExcelVBAApplication方法属性大全.pdf
中文版Excel.2003实例与技巧.pdf
//实例化一个Excel.Application对象 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); //让后台执行设置为不可见,为true的话会看到打开一个Excel,...
NativeExcel3.1仿Excel的Delphi报表控件及实例..rar
ExcelVBA编程150实例
易语言源码易语言进程防杀实例源码.rar 易语言源码易语言进程防杀实例源码.rar 易语言源码易语言进程防杀实例源码.rar 易语言源码易语言进程防杀实例源码.rar 易语言源码易语言进程防杀实例源码.rar 易语言源码...
excel函数实例教程.pdf
Excel函数应用500例 实例下载.rar
EXCEL VBA应用开发与实例精讲.part1.rar
delphi 导出Excel实例 实例
Excel公式实例Excel公式实例Excel公式实例Excel公式实例Excel公式实例
Excel VBA_控件实例集锦.doc
poi解密excel文件实例代码.zip是java使用poi解密excel文件的实例代码,代码只实现了.xls类型的excel,.xlsx类型的excel只需把HSSF前缀的类更换成XSSF开通的前缀类即可。 本代码所实现的解密是指使用密码解密,不是...
网络安全编程技术与实例.pdf( 网络安全编程技术与实例.pdf )
Delphi报表的Excel导入导出操作实例..rar
Excel宏代码封装实例代码.将需要保护的代码封装为dll
MFC中使用EXCEL方法及源码 1. 新建一个excel表,并填充两个单元格的实例 2. 打开一个已有的excel表格实例 3. 保存一个excel文件实例 4. 另存一个excel文件实例 5. 释放一个excel文件实例 6. 修改一个excel单元格 7. ...