您的位置:首页 > 数据库

.net Excel数据导入到sql数据库

2012-08-13 08:50 501 查看
1、获得Excel数据集          

           //创建一个数据链接

            string strCon = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=""Excel 8.0;IMEX=1""", path); //如果不加上后面的“imex=1”就只能读取字符串的内容  无法读取其他如数字的内容

            OleDbConnection myConn = new OleDbConnection(strCon);

            myConn.Open();

            DataTable dt = myConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

            if (dt == null || dt.Rows.Count == 0)

            {

                return null;

            }

            string sheet_name = dt.Rows[tableIndex]["TABLE_NAME"].ToString();

            string strCom = " SELECT * FROM [" + sheet_name + "] ";

            //打开数据链接,得到一个数据集

            OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);

            //创建一个 DataSet对象

            DataSet myDataSet = new DataSet();

            //得到自己的DataSet对象

            myCommand.Fill(myDataSet, sheet_name);

 2、执行数据库插入操作

            DataTable dt = myDataSet.Table[0];

            int count = 0;

            StringBuilder strSql = new StringBuilder();

            for (int i = 0; i < dt.Rows.Count; i++)

            {

                DataRow dr = dt.Rows[i];

                if (dr[0].ToString().Trim().Length == 0)

                {

                    continue;

                }

                strSql.Append(@"INSERT INTO 表

                           (列名)

                     VALUES

                           (");

                strSql.AppendFormat("'{0}',", dr[6].ToString().Trim().Replace("'", "\""));

                strSql.AppendFormat("'{0}',", dr[0].ToString().Trim().Replace("'", "\""));

                strSql.AppendFormat("'{0}',", dr[1].ToString().Trim().Replace("'", "\""));

                strSql.AppendFormat("'{0}',", dr[2].ToString().Trim().Replace("'", "\""));

                strSql.AppendFormat("'{0}',", dr[3].ToString().Trim().Replace("'", "\""));

                strSql.AppendFormat("'{0}',", dr[4].ToString().Trim().Replace("'", "\""));

                strSql.AppendFormat("'{0}')",  dr[5].ToString().Trim());

            }

            count = DBUtility.ExecuteSql(strSql.ToString());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息