zoukankan      html  css  js  c++  java
  • gridview读取Excel文件中的数据,并将其导入数据库

    原文发布时间为:2008-10-16 —— 来源于本人的百度文章 [由搬家工具导入]

    //将需要导入的文件上传到服务器  
            string filePath = "", fileExtName = "";  
            //string myFileName;//用不到,但也写上吧  
            string myPath;  
            string FullName = "";//保存文件的完整文件名  
            if(fileUp.PostedFile.FileName!="")  
            {  
                //取得文件路径   
                filePath = fileUp.PostedFile.FileName;  
                //取得文件扩展名  
                fileExtName = filePath.Substring(filePath.LastIndexOf(".")+1);  
                //判断是否为Excel文件  
                if (fileExtName == "xls")  
                {  
                    try
                    {  
                        //取得与web服务器上指定的虚拟路径相对应的物理路径  
                        myPath = Server.MapPath("Upfiles/");  
                        //取得文件名  
                        //myFileName = filePath.Substring(filePath.LastIndexOf("")+1);  
                        //取得当前时间,以“时时分分秒秒”来命名,以免重复  
                        string strDateName = DateTime.Now.ToString("hhmmss");  
                        //保存上传文件到指定目录  
                        FullName = myPath + strDateName + "." + fileExtName;  
                        fileUp.PostedFile.SaveAs(FullName);  
                    }  
                    catch (Exception ex)  
                    {  
                        Response.Write(ex.Message);  
                    }  
                }  
                else
                {  
                    Page.RegisterStartupScript("","<SCRIPT>alert('文件格式不正确');</SCRIPT>");  
                    return;  
                }  
            }  
            //读取Excel中的内容  
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FullName + ";Extended Properties=Excel 8.0;";  
            OleDbConnection connxls = new OleDbConnection(strConn);  
            if(connxls.State.ToString()=="Closed")  
            {  
                connxls.Open();  
            }  
            string sqlExcel=("select * from [Sheet1$]");  
            OleDbDataAdapter myDa = new OleDbDataAdapter(sqlExcel,connxls);  
            DataSet myDs = new DataSet();  
            myDa.Fill(myDs);  
            if (myDs.Tables[0].Rows.Count > 0)  
            {  
                /***************将数据绑定到gridview*****************************************************/
                try
                {  

                    GridView1.DataSource = myDs.Tables[0].DefaultView;  
                    GridView1.DataBind();  
       
                }  
                catch (Exception ex)  
                {  
                    Response.Write("读取出错" + ex.Message);  
                }  
                /***************绑定完成******************************************************************/

                /********将数据导入到数据库,如果有对应的SQLserver2000数据库,要求字段要一一对应**********/
                string mySql = "";  
                //链接SQLserver2005数据库  
                string sqlConn = "server=.\SQLEXPRESS;database=learning;user id=sa;pwd=sasasa";  
                SqlConnection con = new SqlConnection(sqlConn);  
                if(con.State.ToString()=="Closed")  
                {  
                    con.Open();  
                }  
                SqlCommand myCmd = new SqlCommand();  
                //将数据逐行写入到数据库中  
                for (int i = 0; i < myDs.Tables[0].Rows.Count; i++)  
                {  
                    //数据库中三个字段,所以插入三列  
                    mySql = ("insert into myInfo(myname,sex,mylike) values('" + myDs.Tables[0].Rows[i][0].ToString() + "',"+  
                             "'" + myDs.Tables[0].Rows[i][1].ToString() + "','" + myDs.Tables[0].Rows[i][2].ToString() + "')");  
                    myCmd.Connection = con;  
                    myCmd.CommandText = mySql;  
                    try
                    {  
                        myCmd.ExecuteNonQuery();  
                    }  
                    catch (Exception ex)  
                    {  
                        Response.Write("将数据插入数据库时出错" + ex.Message);  
                    }  
                }  
                Response.Write("<SCRIPT>alert('数据已成功导入到数据库!');</SCRIPT>");  
                if(con.State.ToString()=="Open")  
                {  
                    con.Close();  
                }  
                /*********导入数据库完成******************************************************************/
            }  
            else
            {  
                Page.RegisterStartupScript("","<SCRIPT>alert('Excel中没有数据!');</SCRIPT>");  
            }  
            if(connxls.State.ToString()=="Open")  
            {  
                connxls.Close();  
            }  

  • 相关阅读:
    MapReduce-文本输入
    MapReduce-输入分片与记录
    python 常用类库
    python leveldb 文档
    火狐插件推荐
    mweb test
    python代码风格规范
    UNICODE,GBK,UTF-8区别
    机器学习之K近邻算法(KNN)
    python中的StringIO模块——html
  • 原文地址:https://www.cnblogs.com/handboy/p/7148454.html
Copyright © 2011-2022 走看看