如何把Excel数据导入到SQL2008数据库的实例方法
更新时间:2013年04月02日 17:36:26 作者:
最近想练习一下批量插入数据,所以从网上找了一下资料,做了一个怎么把Excel文件数据导入到数据库。

复制代码 代码如下:
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("数据导入成功!");
}
}
}
}
您可能感兴趣的文章:
- access dbase excel foxpro 数据库浏览器V3.1版 下载
- Excel数据导入Mysql数据库的实现代码
- Excel导入Sqlserver数据库脚本
- Linux下将excel数据导入到mssql数据库中的方法
- php将数据库导出成excel的方法
- php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
- php excel reader读取excel内容存入数据库实现代码
- ASP.NET下将Excel表格中的数据规则的导入数据库思路分析及实现
- Excel导入数据库时出现的文本截断问题解决方案
- 将Excel中数据导入到Access数据库中的方法
- Java 使用poi把数据库中数据导入Excel的解决方法
- PHP 如何利用phpexcel导入数据库
- 把excel表格里的数据导入sql数据库的两种方法
- Excel、记事本数据导入到数据库的实现方法
- C#连接Excel2003和Excel2007以上版本做数据库的连接字符串
- c#将Excel数据导入到数据库的实现代码
- 利用phpexcel把excel导入数据库和数据库导出excel实现
- c#生成excel示例sql数据库导出excel
- android通过jxl读excel存入sqlite3数据库
- Drupal读取Excel并导入数据库实例
- 使用工具 plsqldev将Excel导入Oracle数据库
- asp.net中EXCEL数据导入到数据库的方法
- php导入excel文件到mysql数据库的方法
- C#窗体读取EXCEL并存入SQL数据库的方法
- C#定制Excel界面并实现与数据库交互的方法
相关文章
SQL Server 2008中的代码安全(二) DDL触发器与登录触发器
MicrosoftSQL Server 提供两种主要机制来强制使用业务规则和数据完整性:约束和触发器。触发器为特殊类型的存储过程,可在执行语言事件时自动生效。SQL Server 包括三种常规类型的触发器:DML 触发器、DDL 触发器和登录触发器。2011-06-06
SqlServer2008 数据库同步的两种方式(发布、订阅使用方法)
这篇文章主要介绍了通过发布订阅的方式实现数据库之间的同步操作,需要的朋友可以参考下2014-08-08
SQL Server 2008 R2 为用户权限分配的操作步骤
这篇文章主要介绍了SQL Server 2008 R2 为用户权限分配的操作步骤,有时候我们不得不设置一些权限,例如禁止删除等,那么就可以参考下面的方法2017-10-10
SQL Server 2008 R2占用cpu、内存越来越大的两种解决方法
这篇文章主要介绍了SQL Server 2008 R2占用内存越来越大的两种解决方法,需要的朋友可以参考下2017-10-10
SQL Server 2008存储结构之GAM、SGAM介绍
谈到GAM和SGAM,我们不得不从数据库的页和区说起。一个数据库由用户定义的空间构成,这些空间用来永久存储用户对象,例如数据库管理信息、表和索引。这些空间被分配在一个或多个操作系统文件中2012-08-08
SQLServer2008的实用小道具 merger使用介绍
根据在另一个表中找到的差异在一个表中插入、更新或删除行,可以对两个表进行同步。2010-09-09


最新评论