返回首页

Excel数据到SqlserverDatabase:

public void importDataFromExcel(string excelFilePath)

    {

 

        string myExcelDataQuery = "select * from [Sheet1$]";

        //string myExcelDataQuery = "select Date,BankCode,Ref.Id,Name,Fees from [Sheet1$]";

        try

        {

 

            //string sExcelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFilePath + ";Extended Properties=" + "\"Excel 12.0;HDR=YES;\"";

            string sExcelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + excelFilePath + @";Extended Properties=""Excel 8.0;HDR=YES;""";

               

             //string sSqlConnectionString="Data Source=.;Initial Catalog=RecCrc;User ID=sa;Password=nic123";

           string Cn1 = ConfigurationManager.ConnectionStrings["ANIL"].ConnectionString;

           string sSqlConnectionString = ConfigurationManager.ConnectionStrings["ANIL"].ConnectionString;

             string sClearSQL = "DELETE FROM " + "ErrorBankList";

             string sClearSqlDuplicate = "DELETE FROM " + "BankList";

            SqlConnection SqlConn = new SqlConnection(Cn1);

            SqlConn.Open();

            SqlCommand SqlCmd = new SqlCommand(sClearSQL, SqlConn);

            SqlCommand SqlcmdDupl = new SqlCommand(sClearSqlDuplicate, SqlConn);

            SqlCmd.ExecuteNonQuery();

            SqlcmdDupl.ExecuteNonQuery();

            SqlConn.Close();

 



            OleDbConnection OleDbConn = new OleDbConnection(sExcelConnectionString);

            OleDbCommand OleDbCmd = new OleDbCommand(myExcelDataQuery, OleDbConn);

            OleDbConn.Open();

 

            DataSet ds1E = new DataSet();

            OleDbDataAdapter ad1E = new OleDbDataAdapter(myExcelDataQuery, OleDbConn);

            ad1E.Fill(ds1E);

            int TotalRows = ds1E.Tables[0].Rows.Count;

            if (ds1E.Tables[0].Rows.Count > 0)

            {

                for (int i = 0; i < ds1E.Tables[0].Rows.Count; i++)

                {

                    string Sno = ds1E.Tables[0].Rows[i][0].ToString().Replace("'", "");

                    string BranchCd = ds1E.Tables[0].Rows[i][1].ToString().Replace("'", "");

                    string BranchNm = ds1E.Tables[0].Rows[i][2].ToString().Replace("'", "");

                    string Name = "State Bank Of Mysore";

                    string NameOfBank = Name +","+ BranchNm;

                    if (Sno.Trim() == "" || BranchCd.Trim() == "" || BranchNm.Trim() == "")

                    {

                    }

                    else if (Sno.Trim() != "" || BranchCd.Trim() != "" || BranchNm.Trim() != "")

                    {

                       try{

                        string Query = "insert into BankList values ('" + Sno.Trim() + "','" + BranchCd.Trim() + "','" +  BranchNm.Trim() + "') ";

                        SqlConnection Cn = new SqlConnection(sSqlConnectionString);

                        Cn.Open();

                        SqlCommand cmdT = new SqlCommand(Query, Cn);

                        cmdT.ExecuteNonQuery();

                        Cn.Close();

                       }  

                        catch(Exception ex)

                       {

                           string Query = "insert into ErrorBankList values ('" + Sno.Trim() + "','" + BranchCd.Trim() + "','" + BranchNm.Trim() + "') ";

                        SqlConnection Cn = new SqlConnection(sSqlConnectionString);

                        Cn.Open();

                        SqlCommand cmdT = new SqlCommand(Query, Cn);

                        cmdT.ExecuteNonQuery();

                        Cn.Close();

                        }

 



 

                        

                    }

                }

 }

            LblMsg.Text = "Data saved without errors";

            OleDbConn.Close();

            LoadDetails_Grid();

            

            

        }

        catch (Exception ex)

        {

            string Error = ex.ToString();

            //Save_Error(Error);

           // Response.Write(ex.ToString());

            LblMsg.Text = "Invalied Excel";

            GridView1.Visible = false;

        }

    }

但IAM获取异常:Microsoft Office Access数据库引擎无法打开或写入该文件"。它已经被其他用户以独占方式打开,或者您需要查看其数据写入的权限。

任何人都可以推荐我。

回答