ASP.NET将excel中数据导入到sql server2005数据表(优化版)

/// <summary>
        ///  ASP.NET将excel中数据导入到sql server2005数据表(注意:excel中的字段名、字段个数、字段类型和sql server中的一样)
        /// </summary>
        /// <param name="path">excel文件路径</param>
        /// <param name="StyleSheet">excel文件StyleSheet值</param>
        /// <param name="con">连接目标数据库所需的数据库连接字符串</param>
        public void LoadData(string path, string StyleSheet, string con)
        {
            string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" + Server.MapPath(path) + ";Extended Properties=Excel 8.0";
            OleDbConnection myConn = new OleDbConnection(strCon);
            myConn.Open();   //打开数据链接,得到一个数据集      
            DataSet myDataSet = new DataSet();   //创建DataSet对象      
            string StrSql = "select * from [" + StyleSheet + "$]";
            OleDbDataAdapter myCommand = new OleDbDataAdapter(StrSql, myConn);
            myCommand.Fill(myDataSet, "[" + StyleSheet + "$]");
            myCommand.Dispose();
            DataTable DT = myDataSet.Tables["[" + StyleSheet + "$]"];
            myConn.Close();
            myCommand.Dispose();


            //连接目标数据库
            string strConn = con;
            SqlConnection conn = new SqlConnection(strConn);
            conn.Open();
            for (int j = 0; j < DT.Rows.Count; j++)
            {
                string strSql = "insert into " + StyleSheet + " values (";//这里数据库中表名和excel文件中的StyleSheet名一样
                for (int i = 0; i < DT.Columns.Count; i++)
                {
                    strSql += "'" + DT.Rows[j][i] + "',";
                }
                strSql = strSql.Substring(0, strSql.Length - 1);
                strSql += ")";
                SqlCommand comm = new SqlCommand(strSql, conn);
                comm.ExecuteNonQuery();
            }
            conn.Close();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值