广

MSSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    如何把Excel数据导入到SQL2008数据库的实例方法

    2018-05-03 14:17:32 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布

    代码如下:

    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文件里获取数据  
                         string query = @"SELECT 学号,姓名,公益劳动,电子工艺实习,操作系统 ,计算机组成,数值分析,网络设备与集成,动态网站开发实验周,动态网站开发,均分,排名 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批量插入数据
                        using (SqlBulkCopy sqlbc = new SqlBulkCopy(connStr))
                        {
                            sqlbc.DestinationTableName = "T_StuScore";
                            // sqlbc.ColumnMappings.Add("学号", "StuNum"),第一个参数对应数据库中的列名,
                            //第二个参数对应数据库中相应表的列名
                            sqlbc.ColumnMappings.Add("学号", "StuNum");
                            sqlbc.ColumnMappings.Add("姓名", "StuName");
                            sqlbc.ColumnMappings.Add("公益劳动", "Activity");
                            sqlbc.ColumnMappings.Add("电子工艺实习", "ElecAct");
                            sqlbc.ColumnMappings.Add("操作系统", "OprationSystem");
                            sqlbc.ColumnMappings.Add("计算机组成", "ComputerMaded");
                            sqlbc.ColumnMappings.Add("数值分析", "DataAnalyze");
                            sqlbc.ColumnMappings.Add("网络设备与集成", "NetWork");
                            sqlbc.ColumnMappings.Add("动态网站开发实验周", "WebWeek");
                            sqlbc.ColumnMappings.Add("动态网站开发", "WebMake");
                            sqlbc.ColumnMappings.Add("均分", "AvScore");
                            sqlbc.ColumnMappings.Add("排名", "StuPaiMing");
                            sqlbc.WriteToServer(dataSet.Tables[0]);
                            MessageBox.Show("数据导入成功!");

                        }
                    }  

               }  

           }

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告