当前位置:首页
开发技术指南» 文章正文
    引言:

 ·求一个正侧表达式    »显示摘要«
    摘要: “<img[^>]*>” 这是匹配所有是图片html代码 我要和它相反 匹配所有不是图片html代码,怎么做 ......
    摘要: 1. 人与人之间的关系分为亲疏程度的不同,问的问题的亲疏程度也是有不同的,如果你和他的关系不是很亲近,而问了一些过于亲近的问题,这样他就会想方设法来敷衍你。 有些话题,必须先要通过一些话题来逐渐地建立与对方之间的信任关系后才能问,否则就会引起对方的信任警觉,而出现某中程度的尴尬。 2. 问别人问题,也一定要注意对方的情绪,若对方不想回答问题,就不要接着继续问,除非是某种特殊的原因,很多事情......


Excel进程杀不掉。同时又导致SQLSERVER企业管理器崩溃,各位老大们都来看一下。

On   Error   Resume   Next  
  创建excel对象  
  Dim   missing   As   Object   =   System.Reflection.Missing.Value    
  Dim   oExcel   As   Excel.Application   =   New   Excel.ApplicationClass  
  oExcel.Visible   =   False  
  Dim   oBook   As   Excel.Workbook  
  Dim   oSheet   As   Excel.Worksheet  
  oBook   =   oExcel.Workbooks.Open(Server.MapPath("/a.xls"))  
  oSheet   =   oBook.ActiveSheet  
  --------------------------------------------------------------------------------  
  连接并向oSheet对象传数据  
  Dim   conn   As   New   SqlClient.SqlConnection(数据库连接)  
  Dim   da   As   New   SqlClient.SqlDataAdapter("",   conn)  
  Dim   ds   As   New   DataSet  
  da.SelectCommand.CommandText   =   "select   *   from   table"  
  da.Fill(ds,   "table_list")  
  Dim   li_i   as   Integer  
  For   li_i   =   0   To   ds.Tables("table_list").Rows.Count   -   1  
          oSheet.Cells(li_i   +   5,   2)   =   ds.Tables("table_list").Rows(li_i)("id")  
  Next  
  ds.Tables("table_list").Clear()  
  --------------------------------------------------------------------------------  
  保存  
  Dim   mm   As   String   =   Server.MapPath(".")   +   "\a.xls"  
  oExcel.ActiveWorkbook.SaveCopyAs(mm)  
  filename.Text   =   "a.xls"  
  --------------------------------------------------------------------------------  
  释放对象  
  System.Runtime.InteropServices.Marshal.ReleaseComObject(oSheet)  
  oSheet   =   Nothing  
  oBook.Close(False,   Type.Missing,   Type.Missing)  
  System.Runtime.InteropServices.Marshal.ReleaseComObject(oBook)  
  oBook   =   Nothing  
  oExcel.Quit()  
  System.Runtime.InteropServices.Marshal.ReleaseComObject(oExcel)  
  oExcel   =   Nothing  
   
  da.Dispose()  
  ds.Dispose()  
  conn.Dispose()  
  Me.Dispose()  
   
  GC.Collect()  
   
  KillProcess("EXCEL")  
   
  Response.Redirect(filename.Text.Trim)  
  --------------------------------------------------------------------------------  
  杀进程  
    Private   Sub   KillProcess(ByVal   processName   As   String)  
                  Dim   myproc   As   New   System.Diagnostics.Process  
                  Dim   thisproc   As   System.Diagnostics.Process  
                  Try  
                          For   Each   thisproc   In   myproc.GetProcessesByName(processName)  
                                  If   (Not   thisproc.CloseMainWindow())   Then  
                                          thisproc.Kill()  
                                  End   If  
                          Next  
   
                  Catch   ex   As   Exception  
                          Response.Write("<script>alert("   +   ex.Message   +   ");</script>")  
                  End   Try  
          End   Sub  
   
  请问:  
  1、我的进程里总会留下一个EXCEL.EXE的进程,怎么样才能杀掉?  
  2、执行了以上代码,SQL-SERVER的企业管理器在查看数据时出错。  
        错误提示:存储器不足,无法完成此操作。  
        但查询分析器可以用。  
   
  就这两个问题,看了很多别人对Excel进程的处理,自己就是解决不好,请高手们来帮忙看一下。

NO.1   作者: lang11zi

出错时Excel出现的死进程出现是一件很头疼的事情。在每个文件前加上“On   Error   Resume   Next”将有助于改善这种情况,因为它会不管文件是否产生错误都坚持执行到“Application.Quit”,保证每次程序执行完不留下死进程。  
 

NO.2   作者: flying310

你装的office系统有问题。

NO.3   作者: fengfangfang

使用IceSword.exe,先把内存中的Excel清除掉  
  在运行中输入dcomcnfg  
  设置Excel组件权限,对aspnet,iuser_机器名,iwam_机器名,VS   developer等用户设置权限。

NO.4   作者: finer

下面這樣可以,我的就是這樣做的(C#):  
  ExportExcel();//自定義的導出Excel的方法  
  GC.Collect();//銷毀Excel對象  
 

NO.5   作者: smile9961

首先,你不可以用killprocess的方法,因爲該方法會連同用戶自己的excel進程也殺掉;  
   
  其次,要釋放com對象,需要賦予asp.net用戶相應的權限;另外,如果要從客戶端訪問本程序,那麽iusr_xx,以及匿名用戶也要有權限;  
   
  再次finer已經說了  
  -----------------  
    回复人:   finer()   (   )   信誉:76     2005-08-09   16:01:00     得分:   0      
       
        下面這樣可以,我的就是這樣做的(C#):  
  ExportExcel();//自定義的導出Excel的方法  
  GC.Collect();//銷毀Excel對象  
  -------------------------------------  
  ExportExcel();與GC.Collect();應該分開來寫.  
   
       
     
 

NO.6   作者: smile65

你的那个kill的方法可以不用的,System.GC.Collect();这个方法是好用的,但是由于它不能回收它自身范围的东西,所以你要把你编辑Excel的代码写成一个方法,在外面套一个大方法,在外面方法的Finally里写上System.GC.Collect();应该就没问题了,绝对经验之谈啊,这个东西以前也困扰了我好长时间,:)  
 


    摘要: private void fileup () { int c = 0 ; telnetoutputstream tos = null ; byte[] bytes = null ; fileinputstream fis = null ; string filename = null ; // filename = this.tf_path.gettext () + this......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE