最好还是用owc
----------------------------------------------------------------------
欢迎试用ASP.NET大文件上传组件(AspnetUpload 1.1 Release & 无刷新进度条)
http://www.cnblogs.com/bestcomy/archive/2004/06/09/14267.aspx
http://bestcomy.europe.webmatrixhosting.net
----------------------------------------------------------------------

解决方案 »

  1.   

    office在系统中同时只允许有一个进程在运行,所有在你自己的excel进程开始之前必须保证要关闭系统中的其他excel进程!
      

  2.   

    有些office就是这样,该退出的死活不退出,占着系统资源
      

  3.   

    jerry051(倚天)
    office在系统中同时只允许有一个进程在运行,所有在你自己的excel进程开始之前必须保证要关闭系统中的其他excel进程!
    ----------------------------
    在开始我的程序我已经确认系统中没有了Excel进程,而在运行了我的程序后却发现Excel进程还存在,但是有一点很奇怪,不是每一次都异常。
      

  4.   

    还有,有时候运行下面
    Excel.ApplicationClass objExcel=new Excel.ApplicationClass();
    会出现
    "指令引用的"0x00000000内存,该内存不能为Read",可是该代码在桌面程序下运行正常。
      

  5.   

    再调用一个GC.Collect();参考一下这个:http://www.eggheadcafe.com/articles/20021012.asp
      

  6.   

    调用GC.collet()也没用
    现在一运行Excel.ApplicationClass objExcel=new Excel.ApplicationClass();
    就出现内存错误。
      

  7.   

    <%@ Page Language="c#" %>
    <HTML>
    <HEAD>
    <% @ Import namespace= "System.Diagnostics" %>
    <script language="C#" runat="Server" debug="true">
    void Page_Load(Object Sender, EventArgs e){
    btnKill.Attributes.Add("onclick", "javascript: return confirm('你真的要杀死这个进程吗?');");
    }private void KillProcess(string processName){
      System.Diagnostics.Process myproc= new System.Diagnostics.Process();
      //得到所有打开的进程
        try{
        foreach (Process thisproc in Process.GetProcessesByName(processName)) {
           if(!thisproc.CloseMainWindow()){
    thisproc.Kill();
    }
            }
          }
        catch(Exception Exc)
        {
            msg.Text+= "杀死" +procname.SelectedItem.Text + "失败!";
        }
    }
    public void btnKill_Click(object sender, System.EventArgs e)
        {
            KillProcess(procname.SelectedItem.Text);
            msg.Text= procname.SelectedItem.Text +" 已经被杀死。";
        }
    public void btnShow_Click(object sender, System.EventArgs e){
    ArrayList procList =new ArrayList();
    string tempName="";
    int begpos;
    int endpos;
      foreach (Process thisProc in System.Diagnostics.Process.GetProcesses()) {
          tempName=thisProc.ToString();
           begpos = tempName.IndexOf("(")+1;
           endpos=  tempName.IndexOf(")");
           tempName=tempName.Substring(begpos,endpos-begpos);
           procList.Add(tempName);
           }
            procname.DataSource=procList;
            procname.DataBind();
     }
    </script>
    </HEAD>
    <body>
    <Basefont Face="Tahoma" />
    <center><h2>ASP.NET 进程杀死器!</h2><BR>
    <Table cellspacing=2 cellpadding=2 border=0 BGCOLOR="#fFCC66">
    <form id="frmProc" runat="Server" method="post">
    <TR><TD><ASP:DropDownList id="procname" runat="server" /></TD><TD>
    进程名字</TD></TR>
    <TR><TD>
    <asp:button id="btnKill" Text="杀死进程" runat="server" CausesValidation="False" onclick="btnKill_Click" />
    </TD>
    <TD><asp:button id="btnShow" Text="列出所有进程" runat="server" CausesValidation="False" onclick="btnShow_Click" />
    </TD></TR>
    </TABLE>
    <center><asp:Label id="msg" runat="server"/></center>
    </form>
    </center>
    </body>
    </HTML>
      

  8.   

    楼上的是需要杀死Excel进程吗?可是现在Excel进程都还没有存在
      

  9.   

    麻烦你问一下,怎么可以把listview中的内容保存下来,或者导入到excel中
      

  10.   

    楼上,使用前面的方法,然后就是把ListView每个格中的值放到Excel单元格中即可