本帖最后由 wz654273122 于 2013-03-14 10:41:10 编辑

解决方案 »

  1.   

     /// <summary>
        /// 确定
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnFileUp_Click(object sender, EventArgs e)
        {
            string xlsName = "";
            try
            {
                //InputDataBLL input = new InputDataBLL();           
                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) ;                // string filename = this.FileUpload1.PostedFile.FileName.ToString().Trim();                DataTable dt = new DataTable();
                    int len = this.FileUpload1.FileName.ToString().Trim().Length;                string path = Server.MapPath("../UpLoad/") + xlsName;
                    this.FileUpload1.SaveAs(path); //上传文件                //将上传的Excel文件数据读取出来
                    dt = this.InputExcel(xlsName, this.FileUpload1.FileName.ToString().Trim().Substring(0, len - 4), "");
                    
                    //if (Session["inputdt"] != null)
                    //    Session.Remove("inputdt");
                    //Session.Add("inputdt", inputdt);
                    
                    if (dt.Rows.Count > 0)
                    {
                        this.GridView1.DataSource = dt;
                        this.GridView1.DataBind();
                    }
                }
                else
                    throw new Exception("请选择导入表的路径");
            }
            catch (Exception ex)
            {
                Response.Write("<script language='javascript'>alert('" + ex.Message + "');</script>");
            }
        }
        /// <summary>
        /// 导入数据到数据集中
        /// </summary>
        /// <param name="Path"></param>
        /// <param name="TableName"></param>
        /// <param name="tablename2">如果这个有就以他为表名,没有的话就以TableName</param>
        /// <returns></returns>
        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);
            }
        }友情提示,win2003 x64 版IIS不支持 Jet.OLEDB.4.0;