`

从Excel导入sql server

阅读更多

INSERT INTO tblRequest
SELECT intRequestID,intCustomerID,strSiteURL,	intSearchDepth,	strSamplingMethod	,intMaxRunningTime	,strHTTPMethod	,dteRequestTime	,bitLoadFlag	,strUserAgent,	bitRandomUserAgent	,bitObeyRobotsTXT,strSpiderIP,	strProxyIP	,maxImpressions,	counterMax	,priority	,StrPath	,StrRootPath	,regular

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
  'Data Source="c:\request.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[tblRequest] 

 插入的时候,外键约束是个问题,可以设FK可以NULL,然后将EXCEL文件中相应外键列全部设为空值,再全部插入.

 

 

 

 

=================================

解决些问题过程中,看到了一篇很好的文章

使用sql server 2005。

在sql server中,有一个OpenDateSource函数,用于引用那些不经常访问的DLE DB数据源,Excel与sql server数据导入导出就是建立在这个函数之上。

sql的查询语句语法:SELECT 列名称 FROM 表名称。

插入语句语法:INSERT INTO 表名称 VALUES (值1, 值2,....)。

在开始查询excel之前,要先打开对组件'Ad Hoc Distributed Queries' 的访问,系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。开启方法如下:
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO

好了,准备工作就这么多,下面开始excel向sql server的数据导入。

首先看一个T-SQL帮助中的示例,描述如下:
--下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。


SELECT *
 
FROM OpenDataSource'Microsoft.Jet.OLEDB.4.0'
,
  
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

如果你直接引用这个示例进行查询,那么肯定是通不过的。关键在于语句中的两个地方需要修改,一处在于Data Source处,双引号内为Excel表格的实际存放位置,要修改为你想查询的Excel表实际完整路径;二为最后的...xactions,其实这里代表的是要进行的某些动作,下面会讲,这里修改成用中括号包围的Excel表中工作表名字(加上一个$)就可以了,如[Sheet1$]。当然,还可以将Excel 5.0改为Excel 8.0,因为5.0是以前的老版本了。

下面是实例说明: 
     /*1、插入Excel中的资料到现存的sql数据库表中(假设C盘有excel表book2.xls,book2.xls中有个工作表sheet1,sheet1中有两列id和FName;而同时sql数据库中也有一个表test):*/

insert into test SELECT
 id,FName
FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\book2.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[sheet1$]

--如果用select * ,则列的次序会乱,资料内容也会乱,无法插入成功,所以指定列名

-----------------------
     /*2、插入excel表中资料到sql数据库并新建一个sql表(excel的定义和内容同上):*/

select convert(int,id)as id,FName into
 test7
FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\book2.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[sheet1$]

--在select 列中最好用convert进行显示类型转换,否则资料类型会不如预期。

sql server 向excel导入数据

要用T-SQL语句直接导出至Excel工作薄,就不得不用借用SQL Server管理器的一个扩展存储过程:xp_cmdshell,此过程的作用为“以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。”下面为定义示例:

EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Book3.xls -c -q -S"servername" -U"sa" -P""'

--参数:S 是SQL服务器名;U是用户名;P是密码,没有就空着


--说明:其实用这个过程导出的格式实质上就是文本格式的,不信的话在导出的Excel表中改动一下再保存看看。

实际例子与说明如下:
/*如果要将表整个导出至Excel的话*/
EXEC master..xp_cmdshell 'bcp northwind.dbo.orders out c:\Book1.xls -c -q -S"(local)" -U"sa" -P""'


--注意句中的northwind.dbo.orders,为数据库名+拥有者+表名


--直接导出用“out”关健字


-------------------------------------------

/*如果要利用查询来导出部分字段至Excel的话*/

EXEC master..xp_cmdshell 'bcp "SELECT orderid,cutomerid,freight FROM northwind..orders ORDER BY orderid" queryout C:\ Book2.xls -c -S"(local)" -U"sa" -P""'


--这里在bcp后面加了一个查询语句,并用双引号括起来


--利用查询要用“queryout”关键字

分享到:
评论

相关推荐

    Excel导入SQLserver源码_excel2sql.zip

    这个压缩包文件"Excel导入SQLserver源码_excel2sql.zip"很可能包含了一个程序或脚本,用于自动化从Excel文件批量导入数据到SQL Server的过程。通常,这样的工具会使用编程语言如Python、C#、VB.NET或PowerShell来...

    Excel导入SQLserver源码

    Excel导入SQLserver源码 Excel是一种非常灵活的电子表格软件,用它可以存储各种数据,本节将对如何将Excel导入SQL Server2000数据库进行详细介绍。 开发环境:NET2.0 开发工具:vs2005 开发语言:c# 数据库:server...

    XlsToSql;Excel导入SqlServer工具

    《XlsToSql:Excel数据高效导入SqlServer的实用工具》 在信息技术领域,数据库管理和数据处理是日常工作中不可或缺的部分。Microsoft SQL Server(简称SqlServer)作为一款广泛应用的关系型数据库管理系统,其强大...

    vc Excel导入SQLserver

    标题中的"vc Excel导入SQLserver"指的是在Visual C++(VC++)环境下,将Excel文件中的数据导入到SQL Server数据库中的过程。这个过程通常涉及到使用SQL语句或者借助于特定的数据传输工具。描述中提到的方法是通过SQL...

    excel导入sql server数据库源码

    在IT行业中,数据管理和操作是至关重要的任务,尤其是在企业级应用中。...以上就是关于“Excel导入SQL Server数据库源码”的主要知识点,涵盖了数据迁移的多种方式以及编程实现的细节,希望能对你的工作提供帮助。

    Excel导入SQLServer工具

    标题中的“Excel导入SQLServer工具”是一个专门设计用于将Excel数据批量导入到SQL Server数据库的应用程序。这个工具是由Asp.Net技术开发的,这表明它是一个基于Web的平台,能够处理用户通过网络提交的Excel文件。 ...

    客户端将Excel导入SQL Server C#源码下载

    在IT行业中,将Excel数据导入SQL Server是一项常见的任务,尤其在数据分析、报表生成以及数据库管理等领域。本资源提供了一个C#编程实现的解决方案,允许用户在客户端直接将Excel文件的数据导入库中。以下是对这个C#...

    excel导入sqlserver 具有映射功能

    "Excel导入SQL Server具有映射功能"这一主题,主要涉及到如何将Excel表格中的数据高效、准确地导入到SQL Server数据库,并且保持数据字段的一致性,这通常通过映射Excel列到SQL Server数据库的相应字段来实现。...

    Asp.Net实现Excel导入SQL Server

    在Asp.Net中实现Excel数据导入到SQL Server是一项常见的任务,尤其在数据处理和报表生成等领域。本示例(ImportDemo)将展示如何在win7系统环境下,利用VS2008开发工具,配合SQL2005数据库和Office2010的Excel文件,...

    Delphi实现将数据从Excel中导入到SQL Server

    在将数据从Excel导入SQL Server之前,必须确保两者的数据类型匹配。例如,Excel中的日期/时间字段可能需要转换为SQL Server兼容的格式。此外,还需要处理空值和特殊字符,避免在导入过程中出现错误。 #### 步骤四:...

    asp.net Excel导入SQLserver源码

    在这个特定的项目中,"asp.net Excel导入SQLserver源码" 提供了一个功能,即从Excel文件批量导入数据到SQL Server 2000数据库中。这是一个常见的需求,特别是在数据迁移、数据处理或数据分析场景中。 在BS(Browser...

    EXCEL与SQL SERVER 的导入与导出

    另一方面,从SQL Server导入到Excel则常用于数据分析和报告编制。通过编写SQL查询获取所需数据,然后利用C#的Microsoft.Office.Interop.Excel库,可以直接将查询结果写入Excel工作表。在这个过程中,你需要创建Excel...

    Excel导入SQLServer数据库工具(含源码)

    使用Asp.Net开发,用于导入Excel文件到SQLServer,支持配置导入字段。支持主键为Int的外键。 两种方式:1、先导入Excel再配置对应关系 2、先配置对应关系在导入

    DataImportSeverTable.zip excel导入sqlserver2000

    Excel导入SQL Server 2000的过程主要分为以下几个步骤: 1. **准备工作**:确保你有Excel文件(.xlsx或.xls)并准备要导入的SQL Server 2000数据库。你需要知道数据库的服务器名称、数据库名称、用户名和密码。 2....

    WInform 程序 将Excel导入SQLSERVER数据库

    总结来说,使用WInform程序将Excel导入SQL Server数据库涉及多个步骤,包括设计用户界面、读取Excel、建立数据库连接、数据转换、批量插入和异常处理。这个过程需要对.NET编程、Excel操作以及SQL Server管理有深入的...

    将excel导入到sql server数据库

    本教程将详述如何将Excel数据导入到SQL Server数据库,以供Myeclipse等开发工具直接使用,这对于初学者来说是一个很好的实践案例。 首先,理解Excel的基本操作是必要的。Excel是一款功能强大的电子表格软件,广泛...

    ASP.NET将EXCEL导入SQL SERVER数据库的代码

    在ASP.NET中,将Excel数据导入SQL Server数据库是一项常见的任务,尤其在处理大量表格数据时。这个过程通常涉及读取Excel文件,解析其内容,并将其批量插入到数据库表中。以下是一个详细的步骤介绍和相关知识点: 1...

    C#将Excel导入Sql Server

    一个C#类 将EXCEL批量导入sql

    百万级数据在Excel和Sql数据库之间相互导入、导出

    3. **T-SQL语句**:使用Transact-SQL(T-SQL)可以直接从Excel文件导入数据到SQL Server表,或者将数据导出到CSV文件,再由Excel打开。例如,BULK INSERT命令适用于大批量导入,而SELECT INTO语句可用于创建新表并...

Global site tag (gtag.js) - Google Analytics