解决方案 »

  1.   

    使用Web控件上传文件示例
     protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {
            string serverPath = Server.MapPath("UpLoad"); //获取服务器端目录绝对路径
            if (!System.IO.Directory.Exists(serverPath)) //如果不存在该目录
            {
                System.IO.Directory.CreateDirectory(serverPath); //创建该目录
            }
            if (FileUpload1.HasFile) //判断是否选择上传的文件
            {
                int filesize = FileUpload1.PostedFile.ContentLength / 1024 / 1024;//获取上传文件的大小
                if (filesize > 8) //如果大于8M
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('只允许上传不大于8兆的文件');", true); //弹出提示信息
                    return;
                }
                else //否则
                {
                    //使用SaveAs方法将上传的文件存储到服务器中
                    FileUpload1.SaveAs(serverPath + "\\" + FileUpload1.FileName);
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('上传成功');", true);
                }//codego.net/tags/11/1/
            }
            else //如果没有选择文件
            {
                //弹出提示信息
                Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('请选择文件');", true);
                return;
            }
      

  2.   

    这可能是你的excel文件在上传时处于打开状态,你确认要上传前要关闭excel,杀了excel进程
      

  3.   

    “如果Birth.xlsx已存在,删除”那么如果它正在被别的线程或者进程使用怎么办?你这个业务逻辑设计有错误。先动脑设计,再动手实现。
      

  4.   


    给出“后来进程没有关闭”的流程说明来。有的人会说名词儿,但是你一问他的程序具体的流程为什么会走到这一步bug,他就说不出来了。
      

  5.   

    上传时确认进程已关闭,上传成功后因为还要读excel发现进程被打开
      

  6.   

    不需要很复杂,用户的操作只是上传。上传完每天schedule task打开default.aspx
      

  7.   

    不太懂您说的这个流程是什么意思。第一次上传,上传无异常报错,程序正常读写。第二次上传,异常我之前有写,显示进程被其他程序占用。进入该目录,尝试删除Excel,显示被用户打开之类的,进入Windows task end process删除成功。已经检查,close dispose方法都有,不知道为什么还是没有释放