出现的问题:【Excel导入asp.net中的GridView】 本地测试可以,放在服务器上就不显示了
第一步:是上传,测试成功,服务器和本地测试都可以,我就不贴了。第二部:是将上传的Excel 打开,贴代码: public DataTable InputExcel(string xlsName, string TableName, string tablename2)
    {
        try
        {
            //获取到上传的Excel
            string ThePath = Server.MapPath("../") + "UpLoad\\" + xlsName;
            
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + ThePath + ";" + "Extended Properties=Excel 8.0;";
            
            OleDbConnection conn = new OleDbConnection(strConn);
            conn.Open();
            
            string strExcel = "";
            
            OleDbDataAdapter myCommand = null;            if (tablename2.Length > 0 && !tablename2.Equals(string.Empty))
            {
                TableName = tablename2;
            }
                            strExcel = "select * from [" + TableName + "$]";            myCommand = new OleDbDataAdapter(strExcel, strConn);
            DataTable dt = new DataTable();
            myCommand.Fill(dt);            conn.Close();
            return dt;        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
    }
第三步:获取第二步中return的DataTable,然后显示在GridView中。if (dt.Rows.Count > 0)
      {
        this.GridView1.DataSource = inputdt;
        this.GridView1.DataBind();
      }
开始以为是权限问题,但是将文件夹权限全部打开,依然不可以,求教。
excelasp.netIIs

解决方案 »

  1.   


    我还是贴全了吧,上传的代码:if (this.FileUpload1.HasFile)
        {
            string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();
                    
            if (IsXls != ".xls")
            {
               MessageBox.Show("本程序只能识别excel文件!",this);
              return;
            }
             xlsName =  DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss")+System.IO.Path.GetFileName(FileUpload1.FileName) ;        DataTable dt = new DataTable();
            int len = this.FileUpload1.FileName.ToString().Trim().Length;        string path = Server.MapPath("../UpLoad/") + xlsName;
            this.FileUpload1.SaveAs(path); //上传文件  
        
      

  2.   

    在windows server 2003不支持Microsoft.Jet.OLEDB.4.0
      

  3.   

    看报什么错误,问题没解决之前先不要catch异常;检查路径是否正确;检查所需组件、驱动是否安装;另外,服务器操作Excel我发现还是NPOI和EPPlus好用。
      

  4.   

    是不是服务器上没有Excel组件?
      

  5.   

    问题是win2003 x64系统不支持 Jet.OLEDB.4.0,结贴给分。