从EXCEL导入数据到SQL SERVER
左直拳
介绍两种途径将数据从EXCEL中导入到SQL SERVER。
一、 在程序中,用ADO.NET。代码如下:
//连接串
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" + [EXCEL文件,含路径] + ";";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
DataTable dtSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[] {null, null, null, "TABLE"});
DataSet ds = new DataSet();
//一个EXCEL文件可能有多个工作表,遍历之
foreach( DataRow dr in dtSchema.Rows )
{
string table = dr["TABLE_NAME"].ToString();
string strExcel = "SELECT * FROM [" + table + "]";
ds.Tables.Add(table);
OleDbDataAdapter myCommand = new OleDbDataAdapter(strExcel,conn);
myCommand.Fill(ds,table);
}
conn.Close();
这样,读取出来的数据就藏在DataSet里了。
采用这种方式,数据库所在机器不必装有EXCEL。
二、 在查询分析器里,直接写SQL语句:
如果是导入数据到现有表,则采用
INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
的形式
如果是导入数据并新增表,则采用
SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
的形式。
以上语句是将EXCEL文件里SHEET1工作表中所有的列都读进来,如果只想导部分列,可以
INSERT INTO 表(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
其实可以将OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)当成一个表,例如我就写过这样一个句子:
INSERT INTO eval_channel_employee(channel,employee_id)
SELECT CASE a.渠道 WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END
,b.id FROM
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\temp\name.xls',sheet1$) AS a,pers_employee b
WHERE a.员工编码=b.code
不管是哪种方式,哪种途径,系统都会默认将第一行上的内容作为字段名。
分享到:
相关推荐
从Excel导入数据到SQLServer中的c#程序,WINDOWSXP平台,VS2005,SQL SERVER 2000
自己写的小程序,有效的解决了从excel中导入数据到sql server,人性化的做了很多判断。
简单介绍了sqlserver 2008 r2导入excel数据时遇到问题的处理方法
本例子为 .Net使用NOPI从数据库导出数据到Excel的Demo。有详细的文档和例子说明。也可以从Excel导入数据到SQL Server。
将Excel中的数据导入到SqlServer中的实现方法总结。还有一个简单的例子
C# excel 数据导入到sqlserver,方便数据的整理
将Excel数据导入到SQLServer中,可以选择要导入的Excel文件和Sheet名称,表名。通过自动编写存储过程来实现导入功能。实际使用无须这么麻烦,可以作为数据导入和存储过程参考例子。
sql脚本为批量导入excel文件数据到SQLSERVER库,可以导入多个sheet,需安装MicroSoft的AccessDatabaseEngine_X64组件,网上下载即可
Excel导入SQLserver源码 Excel是一种非常灵活的电子表格软件,用它可以存储各种数据,本节将对如何将Excel导入SQL Server2000数据库进行详细介绍。 开发环境:NET2.0 开发工具:vs2005 开发语言:c# 数据库:server...
1.1 SQL Server Management Studio中导入 1.2 直接启动SQL Server导入和导出向导 1.3 SQLServer查询分析器使用代码导入数据 1.4 导入null值数据的说明
C# 从Excel导入数据到DataGridView、SqlServer,C# 从Excel导入数据到DataGridView、SqlServerC# 从Excel导入数据到DataGridView、SqlServerC# 从Excel导入数据到DataGridView、SqlServerC# 从Excel导入数据到...
excel数据导入到sql server数据库中,
Excel导入数据到SQLSERVER20002.pdf
Delphi实现将数据从Excel中导入到SQL Server
我是新手一枚,做了个winform导入Excel到数据库的小东西,分享给大家,请大家指点下。 文件里面有我的导入的Excel文件,估计只能导这样的吧。不过改改还是能导别的数据的。
DataConversion:方便进行Excel的数据向SQL Server数据库的导入工作,适合简单重复性的导入操作,使用XML配置文件进行导入设置的保存,理论上支持数据的任意导入(Update更新、Insert插入),数据库密码做了加密处理,...
将Excel表数据导入SQL Server的几种方法
怎样把数据从excel2007导入到sqlserver2005
非常方便的excel导入到sql的工具,无需激活,永久使用,是你开发工作中必备的工具
Excel数据导入到SQLserver数据库指定的表,可多页签,附sql语句