做了一个将excel表格数据导入数据库的功能,在本地测试可以,把功能放到服务器上却不行了,说不是有效路径,找不到文件,请问怎么解决excel数据库服务器asp

解决方案 »

  1.   

    附上代码
    if (FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件
            {
                Response.Write("<script>alert('请您选择Excel文件')</script> ");
                return;//当无文件时,返回
            }
            string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
            System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//
            if (IsXls != ".xls" && IsXls != ".xlsx")  //
            {
                Response.Write("<script>alert('只可以选择Excel文件')</script>");
                return;//当选择的不是Excel文件时,返回
            }
            this.GridView1.DataSource = ExcelDataSource();
            this.GridView1.DataBind();
      

  2.   

        protected void imgSave_Click(object sender, EventArgs e)
        {
            if (fupload.PostedFile.FileName == "")
            {
                ClientScript.RegisterClientScriptBlock(this.GetType(), "check", "<script language='javascript'>alert('请选择上传的文件');</script>");
                return;
            }
            //上传文件到服务器
            string filepath = "";
            if ((filepath = SaveFile()) == "")
            {
                MyShowMessageBox.Show(this, "文件上传失败!");
                return;
            }
            //资料处理
            ImportData(filepath);
            //删除上传文件
        }    /*!
         *  * @brief [保存文件返回文件路径] 
         *  * 
         *  * [保存文件返回文件路径]
         *  * @return private string  
         *  */
        private string SaveFile()
        {        string FilePath = "";
            string newFileName = GetFileName("\\", fupload.PostedFile.FileName);
            try
            {
                FilePath = HttpContext.Current.Server.MapPath("../Files/");
                newFileName = GetFinalFileName(newFileName);
                FilePath = FilePath + newFileName;
                fupload.PostedFile.SaveAs(FilePath);
            }
            catch (Exception ex)
            {
                return "";
            }
            return FilePath;
        }
        /*!
         *  * @brief [获取文件名称] 
         *  * 
         *  * [获取文件名称带后缀]
         *  * @param pat 文件名前面的符号
         *  * @param url 
         *  * @return private string  
         *  */
        private string GetFileName(string pat, string url)
        {
            int position;
            position = url.LastIndexOf(pat);
            return url.Substring(position + 1);
        }    /*!
         *  * @brief [获取新的生成文件名称] 
         *  * 
         *  * [获取文件名称带后缀]
         *  * @param fileName 旧文件名称
         *  * @return private string  
         *  */
        private string GetFinalFileName(string fileName)
        {
            Random rander = new Random();
            string file = fileName;
            file = rander.Next().ToString() + "_" + fileName;
            return file;
        }
      

  3.   

    解决技术问题,先解决自己的工作经验和基本方法问题。你应该学会断点调试,看看你的代码打开Workbook的那一条代码的变量值是什么。不要靠抄来csdn代码让后就等着要结果,要自己调试。