DataSet ds = new DataSet();
            string cbid = "";
            OleDbTransaction transaction = null;
            try
            {
                //获取全部数据   
                string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 8.0;";
                OleDbConnection conn = new OleDbConnection(strConn);
                conn.Open();
                string strExcel = "";
                OleDbDataAdapter myCommand = null;
                strExcel = string.Format("select * from [{0}$]", sheetName);
                myCommand = new OleDbDataAdapter(strExcel, strConn);
                myCommand.Fill(ds, sheetName);                DataRow[] dr = ds.Tables[0].Select();            //定义一个DataRow数组                //如果目标表不存在则创建   
                //string strSql = string.Format("if object_id('{0}') is null create table {0}(", sheetName);   
                //foreach (System.Data.DataColumn c in ds.Tables[0].Columns)   
                //{   
                //    strSql += string.Format("[{0}] varchar(255),", c.ColumnName);   
                //}   
                //strSql = strSql.Trim(',') + ")";   
                string strSql = "";
               
                transaction = conn.BeginTransaction();
                               for (int i = 0; i < dr.Length; i++)
                {
                    cbid = dr[i]["id"].ToString();
                    string cbnumber = dr[i]["内部编号"].ToString();
                    string cbprojectname = dr[i]["项目名称"].ToString();
                    
                    // 我能保证insert语句可以执行没有问题,由于项目居多,这里省略掉了
                    strSql = "insert into JPX_SaCompeteBuilding ";                    OleDbCommand cmd = new OleDbCommand(strSql, conn, transaction);
                    
                    //每次执行到这里就报错,数据库引擎找不到对象   JPX_SaCompeteBuilding                  
                    cmd.ExecuteNonQuery();                }
                transaction.Commit();                    
                                
            }
            catch (Exception ex)
            {
                transaction.Rollback();                System.Windows.Forms.MessageBox.Show(ex.Message + "\n内部编号:" + cbid);
            }