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

编辑Tag赚U币

推荐:SQL Server2008中删除重复记录的方法分享
在Database中可能由于某种原因如用户输入,导入数据失败等 导致了重复记录. 如果你没有用主键,约束,或来其它机制实现数据完整性,那最后总是重复记录在你的数据库中.

复制代码 代码如下:www.mb5u.com

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

}
}

}

}

分享:使用Sqlserver事务发布实现数据同步(sql2008)
事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进的。这里以sqlserver2008的事务发布功能为例,对发布订阅的方式简要介绍一下操作流程,一方面做个总结备份,一方面与大家进行一下

来源:模板无忧//所属分类:Mssql数据库教程/更新时间:2013-04-23
相关Mssql数据库教程