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

所属分类: 数据库 / mssql2008 阅读数: 136
收藏 0 赞 0 分享

复制代码 代码如下:

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("数据导入成功!");

                    }
                }  

           }  

       }

更多精彩内容其他人还在看

使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法

使用时代互联的海外空间,sql 2008 无限空间大小,开通账户后,使用sql server management studio 2008 连接数据库,可以链接上,但是无法查看自己的数据库,点击数据库后,提示 无法为该请求检索数据 错误916
收藏 0 赞 0 分享

探讨如何配置SQL2008,让其允许C#远程外部连接的方法详解

本篇文章是对如何配置SQL2008,让其允许C#远程外部连接的方法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

SQL Server 2008 R2数据库镜像部署图文教程

数据库镜像是一种针对数据库高可用性的基于软件的解决方案。其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中
收藏 0 赞 0 分享

sql2008 hql语句翻译过来的分页语句介绍

有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用
收藏 0 赞 0 分享

sql server 2008数据库无法启动的解决办法(图文教程)

sql server 2008数据库无法启动的解决办法(图文教程),需要的朋友可以参考一下
收藏 0 赞 0 分享

安装SQL Server 2008时 总是不断要求重启电脑的解决办法

本篇文章是对安装SQL Server 2008时,总是不断要求重启电脑的解决办法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

关于SQL Server 2008 安装提示"重新启动计算机失败"的解决办法

本篇文章是对关于SQL Server 2008 安装提示"重新启动计算机失败"的解决办法进行了详细的分析介绍,需要的朋友参考下
收藏 0 赞 0 分享

SQL Server Native Client下载 SQL Server Native Client安装方法

在安装 SQL Server 2008 或 SQL Server 工具时,将同时安装 Microsoft SQL Server Native Client 10.0。如果计算机上还安装了 SQL Server Native Client 的 SQL Server 2005 版本,
收藏 0 赞 0 分享

sqlserver2008 拆分字符串

数据库 拆分字符串
收藏 0 赞 0 分享

SQL2008中 阻止保存要求重新创建表的更改 的解决方法

当用户在在SQL Server 2008企业管理器中更改表结构时,必须要先删除原来的表,然后重新创建新表,才能完成表的更改
收藏 0 赞 0 分享
查看更多