欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何把Excel數(shù)據(jù)導(dǎo)入到SQL2008數(shù)據(jù)庫的實(shí)例方法

 更新時間:2013年04月02日 17:36:26   作者:  
最近想練習(xí)一下批量插入數(shù)據(jù),所以從網(wǎng)上找了一下資料,做了一個怎么把Excel文件數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫。

復(fù)制代碼 代碼如下:

private void AddManyData_Click(object sender, RoutedEventArgs e)
       {
           OpenFileDialog openFileDialog = new OpenFileDialog();
           openFileDialog.Filter = "Excel文件|*.xls";

           if ((bool)openFileDialog.ShowDialog())  
           {  
                FileInfo fileInfo = new FileInfo(openFileDialog.FileName);  
                string filePath = fileInfo.FullName;  
                string connExcel = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=Excel 8.0";

                using (OleDbConnection oleDbConn = new OleDbConnection(connExcel))
                {
                    oleDbConn.Open();

                    //獲取excel表  
                    DataTable dt = oleDbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                    //獲取Excel表的表名 
                    string tableName = dt.Rows[0][2].ToString().Trim();
                    //去掉空格
                    tableName = "[" + tableName.Replace("'", "") + "]";

                    //利用SQL語句從Excel文件里獲取數(shù)據(jù)  
                     string query = @"SELECT 學(xué)號,姓名,公益勞動,電子工藝實(shí)習(xí),操作系統(tǒng) ,計算機(jī)組成,數(shù)值分析,網(wǎng)絡(luò)設(shè)備與集成,動態(tài)網(wǎng)站開發(fā)實(shí)驗(yàn)周,動態(tài)網(wǎng)站開發(fā),均分,排名 FROM ";                  + tableName;
                     DataSet dataSet = new DataSet();

                     using (OleDbCommand oleDbcomm = oleDbConn.CreateCommand())
                     {
                         oleDbcomm.CommandText = query;
                         OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleDbcomm);
                         oleAdapter.Fill(dataSet);
                     }
                     string connStr = "Data Source=HESHUHUA-PC;Initial Catalog=RSMSystem;Integrated Security=True";
                     //利用SqlBulkCopy批量插入數(shù)據(jù)
                    using (SqlBulkCopy sqlbc = new SqlBulkCopy(connStr))
                    {
                        sqlbc.DestinationTableName = "T_StuScore";
                        // sqlbc.ColumnMappings.Add("學(xué)號", "StuNum"),第一個參數(shù)對應(yīng)數(shù)據(jù)庫中的列名,
                        //第二個參數(shù)對應(yīng)數(shù)據(jù)庫中相應(yīng)表的列名
                        sqlbc.ColumnMappings.Add("學(xué)號", "StuNum");
                        sqlbc.ColumnMappings.Add("姓名", "StuName");
                        sqlbc.ColumnMappings.Add("公益勞動", "Activity");
                        sqlbc.ColumnMappings.Add("電子工藝實(shí)習(xí)", "ElecAct");
                        sqlbc.ColumnMappings.Add("操作系統(tǒng)", "OprationSystem");
                        sqlbc.ColumnMappings.Add("計算機(jī)組成", "ComputerMaded");
                        sqlbc.ColumnMappings.Add("數(shù)值分析", "DataAnalyze");
                        sqlbc.ColumnMappings.Add("網(wǎng)絡(luò)設(shè)備與集成", "NetWork");
                        sqlbc.ColumnMappings.Add("動態(tài)網(wǎng)站開發(fā)實(shí)驗(yàn)周", "WebWeek");
                        sqlbc.ColumnMappings.Add("動態(tài)網(wǎng)站開發(fā)", "WebMake");
                        sqlbc.ColumnMappings.Add("均分", "AvScore");
                        sqlbc.ColumnMappings.Add("排名", "StuPaiMing");
                        sqlbc.WriteToServer(dataSet.Tables[0]);
                        MessageBox.Show("數(shù)據(jù)導(dǎo)入成功!");

                    }
                }  

           }  

       }

您可能感興趣的文章:

相關(guān)文章

最新評論