首页 > 代码库 > C#生成Excel文件后彻底解除占用代码(来着CSDN)
C#生成Excel文件后彻底解除占用代码(来着CSDN)
http://bbs.csdn.net/topics/280078428
jy251
LS说KILL进程的朋友们···我说。。。你们真行!!!如果用户是administrator还行,如果不是怎么办??你是没有权限KILL滴!!!
C# code ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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(); |
有一点,在网上你是找不到滴···纯属经验:
如果你要写的Excel是多个Sheet的话,那么你最好写个函数:
比如 private bool overdue_report_sub(Excel.Worksheet sheet)
将sheet的对象传进去,在这个函数中进行操作,函数过程只写Sheet的操作过程,释放还是放在外面。如果你不这样做的话,那么,恭喜你,你还是释放不掉。但是如果只有一个Sheet操作的话,你就可以不用写这个函数了,只是在整个函数体中进行创建和释放。
C#生成Excel文件后彻底解除占用代码(来着CSDN)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。