x如何成功把EXCEL表的数据导入到SQL数据库

x如何成功把EXCEL表的数据导入到SQL数据库
x如何成功把EXCEL表的数据导入到SQL数据库

如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写

insert into tbl008 select id,fld001,fld002,fld003,fld004,fld005,fld006,f ld007,fld008 from

OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:\123.xls',tbl008$)

从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$)

--如果从SQL数据库中,导出数据到Excel,如果Excel文件已经存在,而且已经按照要接收的数据创建好表头,就可以简单的用:

insert into OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)

select * from 表

--如果Excel文件不存在,也可以用BCP来导成类Excel的文件,注意大小写:

--导出表的情况

EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名 out "c:test.xls" /c -/S"服务器名" /U"用户名" -P"密码"'

--导出查询的情况

EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..auth ors ORDER BY au_lname" queryout "c:test.xls" /c -/S"服务器名" /U"用户名" -P"密码"'

--上面已经说过,用BCP导出的是类Excel文件,其实质为文本文件,

--要导出真正的Excel文件.就用下面的方法

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_ exporttb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[p_exporttb]

GO

create proc p_exporttb

@tbname sysname, --要导出的表名

@path nvarchar(1000), --文件存放目录

@fname nvarchar(250)='' --文件名,默认为表名

as

declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varch

ar(8000)

--参数检测

if isnull(@fname,'')='' set @fname=@tbname+'.xls'

--检查文件是否已经存在

if right(@path,1)<>'' set @path=@path+''

create table #tb(a bit,b bit,c bit)

set @sql=@path+@fname

insert into #tb exec master..xp_fileexist @sql

--数据库创建语句

set @sql=@path+@fname

if exists(select 1 from #tb where a=1)

set @constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=F ALSE'

+';CREATE_DB=" +';DATABASE='+@sql+'"'

--连接数据库

exec @err=sp_oacreate 'adodb.connection',@obj out

if @err<>0 goto lberr

exec @err=sp_oamethod @obj,'open',null,@constr

if @err<>0 goto lberr

--创建表的SQL

select @sql='',@fdlist=''

select @fdlist=@fdlist+',['+https://www.360docs.net/doc/9e9134655.html,+']'

,@sql=@sql+',['+https://www.360docs.net/doc/9e9134655.html,+'] '

+case when https://www.360docs.net/doc/9e9134655.html, in('char','nchar','varchar','nvarchar') then

'text('+cast(case when a.length>255 then 255 else a.length end as v archar)+')'

when https://www.360docs.net/doc/9e9134655.html, in('tynyint','int','bigint','tinyint') then 'int'

when https://www.360docs.net/doc/9e9134655.html, in('smalldatetime','datetime') then 'datetime'

when https://www.360docs.net/doc/9e9134655.html, in('money','smallmoney') then 'money'

else https://www.360docs.net/doc/9e9134655.html, end

FROM syscolumns a left join systypes b on a.xtype=b.xusertype

where https://www.360docs.net/doc/9e9134655.html, not in('image','text','uniqueidentifier','sql_variant','nte xt','varbinary','binary','timestamp')

and object_id(@tbname)=id

select @sql='create table ['+@tbname

+']('+substring(@sql,2,8000)+')'

,@fdlist=substring(@fdlist,2,8000)

exec @err=sp_oamethod @obj,'execute',@out out,@sql

if @err<>0 goto lberr

exec @err=sp_oadestroy @obj

--导入数据

set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 5.0;HDR=YES

;DATABASE='+@path+@fname+''',['+@tbname+'$])'

exec('insert into '+@sql+'('+@fdlist+') select '+@fdlist+' from '+@tbnam e)

return

lberr:

exec sp_oageterrorinfo 0,@src out,@desc out

lbexit:

select cast(@err as varbinary(4)) as 错误号

,@src as 错误源,@desc as 错误描述

select @sql,@constr,@fdlist

go

--上面是导表的,下面是导查询语句的.

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_ exporttb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[p_exporttb]

GO

create proc p_exporttb

@sqlstr varchar(8000), --查询语句,如果查询语句中使用了order by ,请加上top 100 percent

@path nvarchar(1000), --文件存放目录

@fname nvarchar(250), --文件名

@sheetname varchar(250)='' --要创建的工作表名,默认为文件名

as

declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varch ar(8000)

--参数检测

if isnull(@fname,'')='' set @fname='temp.xls'

if isnull(@sheetname,'')='' set @sheetname=replace(@fname,'.','#')

--检查文件是否已经存在

if right(@path,1)<>'' set @path=@path+''

create table #tb(a bit,b bit,c bit)

set @sql=@path+@fname

insert into #tb exec master..xp_fileexist @sql

--数据库创建语句

set @sql=@path+@fname

if exists(select 1 from #tb where a=1)

set @constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=F ALSE'

+';CREATE_DB=" +';DATABASE='+@sql+'"'

--连接数据库

exec @err=sp_oacreate 'adodb.connection',@obj out

if @err<>0 goto lberr

exec @err=sp_oamethod @obj,'open',null,@constr

if @err<>0 goto lberr

--创建表的SQL

declare @tbname sysname

set @tbname='##tmp_'+convert(varchar(38),newid())

set @sql='select * into ['+@tbname+'] from('+@sqlstr+') a'

exec(@sql)

select @sql='',@fdlist=''

select @fdlist=@fdlist+',['+https://www.360docs.net/doc/9e9134655.html,+']'

,@sql=@sql+',['+https://www.360docs.net/doc/9e9134655.html,+'] '

+case when https://www.360docs.net/doc/9e9134655.html, in('char','nchar','varchar','nvarchar') then

'text('+cast(case when a.length>255 then 255 else a.length end as v archar)+')'

when https://www.360docs.net/doc/9e9134655.html, in('tynyint','int','bigint','tinyint') then 'int'

when https://www.360docs.net/doc/9e9134655.html, in('smalldatetime','datetime') then 'datetime'

when https://www.360docs.net/doc/9e9134655.html, in('money','smallmoney') then 'money'

else https://www.360docs.net/doc/9e9134655.html, end

FROM tempdb..syscolumns a left join tempdb..systypes b on a.xtype=b.xuse rtype

where https://www.360docs.net/doc/9e9134655.html, not in('image','text','uniqueidentifier','sql_variant','nte xt','varbinary','binary','timestamp')

and a.id=(select id from tempdb..sysobjects where name=@tbname)

select @sql='create table ['+@sheetname

+']('+substring(@sql,2,8000)+')'

,@fdlist=substring(@fdlist,2,8000)

exec @err=sp_oamethod @obj,'execute',@out out,@sql

if @err<>0 goto lberr

exec @err=sp_oadestroy @obj

--导入数据

set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 5.0;HDR=YES

;DATABASE='+@path+@fname+''',['+@sheetname+'$])'

exec('insert into '+@sql+'('+@fdlist+') select '+@fdlist+' from ['+@tbna me+']')

set @sql='drop table ['+@tbname+']'

exec(@sql)

return

lberr:

exec sp_oageterrorinfo 0,@src out,@desc out

lbexit:

select cast(@err as varbinary(4)) as 错误号

,@src as 错误源,@desc as 错误描述

select @sql,@constr,@fdlist

go

SQL常用语句一览 update `sdb_mall_goods` set price=price *.44

(1)数据记录筛选:

sql="select*from数据表where字段名=字段值orderby字段名[desc]"

sql="select*from数据表where字段名like'%字段值%'orderby字段名[desc]" sql="selecttop10*from数据表where字段名orderby字段名[desc]"

sql="select*from数据表where字段名in('值1','值2','值3')"

sql="select*from数据表where字段名between值1and值2"

(2)更新数据记录:

sql="update数据表set字段名=字段值where条件表达式"

sql="update数据表set字段1=值1,字段2=值2……字段n=值nwhere条件表达式"

(3)删除数据记录:

sql="deletefrom数据表where条件表达式"

sql="deletefrom数据表"(将数据表所有记录删除)

(4)添加数据记录:

sql="insertinto数据表(字段1,字段2,字段3…)values(值1,值2,值3…)"

sql="insertinto目标数据表select*from源数据表"(把源数据表的记录添加到目标数据表)

(5)数据记录统计函数:

AVG(字段名)得出一个表格栏平均值

COUNT(*|字段名)对数据行数的统计或对某一栏有值的数据行数统计

MAX(字段名)取得一个表格栏最大的值

MIN(字段名)取得一个表格栏最小的值

SUM(字段名)把数据栏的值相加

引用以上函数的方法:

sql="selectsum(字段名)as别名from数据表where条件表达式"

setrs=conn.excute(sql)

用rs("别名")获取统的计值,其它函数运用同上。

(5)数据表的建立和删除:

CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)……)

例:CREATETABLEtab01 (namevarchar (50), datetimedefaultnow ()) DROPTABLE数据表名称(永久性删除一个数据表)

4.记录集对象的方法:

rs.movenext将记录指针从当前的位置向下移一行

rs.moveprevious将记录指针从当前的位置向上移一行

rs.movefirst将记录指针移到数据表第一行

rs.movelast将记录指针移到数据表最后一行

rs.absoluteposition=N将记录指针移到数据表第N行

rs.absolutepage=N将记录指针移到第N页的第一行

rs.pagesize=N设置每页为N条记录

rs.pagecount根据pagesize的设置返回总页数

rs.recordcount返回记录总数

rs.bof返回记录指针是否超出数据表首端,true表示是,false为否

rs.eof返回记录指针是否超出数据表末端,true表示是,false为否

rs.delete删除当前记录,但记录指针不会向下移动

rs.addnew添加记录到数据表末端

rs.update更新数据表记录

SQL语句的添加、删除、修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来?

添加、删除、修改使用db.Execute(Sql)命令执行操作

╔----------------╗

☆数据记录筛选☆

╚----------------╝

注意:单双引号的用法可能有误(没有测式)

Sql = "Select Distinct 字段名 From 数据表"

Distinct函数,查询数据库存表内不重复的记录

Sql = "Select Count(*) From 数据表 where 字段名1>#18:0:0# and 字段名1< #19:00# "

count函数,查询数库表内有多少条记录,“字段名1”是指同一字段

例:

set rs=conn.execute("select count(id) as idnum from news")

response.write rs("idnum")

sql="select * from 数据表 where 字段名 between 值1 and 值2"

Sql="select * from 数据表 where 字段名 between #2003-8-10# and #2003-8-1 2#"

在日期类数值为2003-8-10 19:55:08 的字段里查找2003-8-10至2003-8-12的所有记录,而不管是几点几分。

select * from tb_name where datetime between #2003-8-10# and #2003-8-12# 字段里面的数据格式为:2003-8-10 19:55:08,通过sql查出2003-8-10至2003-8 -12的所有纪录,而不管是几点几分。

Sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"

Sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名[desc]"

模糊查询

Sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]"

查找数据库中前10记录

Sql="select top n * form 数据表 order by newid()"

随机取出数据库中的若干条记录的方法

top n,n就是要取出的记录数

Sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"

╔----------------╗

☆添加数据记录☆

╚----------------╝

sql="insert into 数据表 (字段1,字段2,字段3 …) valuess (值1,值2,值3 …)

"

sql="insert into 数据表 valuess (值1,值2,值3 …)"

不指定具体字段名表示将按照数据表中字段的顺序,依次添加

sql="insert into 目标数据表 select * from 源数据表"

把源数据表的记录添加到目标数据表

╔----------------╗

☆更新数据记录☆

╚----------------╝

Sql="update 数据表 set 字段名=字段值 where 条件表达式"

Sql="update 数据表 set 字段1=值1,字段2=值2 ……字段n=值n where 条件表达式"

Sql="update 数据表 set 字段1=值1,字段2=值2 ……字段n=值n "

没有条件则更新整个数据表中的指定字段值

╔----------------╗

☆删除数据记录☆

╚----------------╝

Sql="delete from 数据表 where 条件表达式"

Sql="delete from 数据表"

没有条件将删除数据表中所有记录)

╔--------------------╗

☆数据记录统计函数☆

╚--------------------╝

AVG(字段名) 得出一个表格栏平均值

COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计

MAX(字段名) 取得一个表格栏最大的值

MIN(字段名) 取得一个表格栏最小的值

SUM(字段名) 把数据栏的值相加

引用以上函数的方法:

sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"

set rs=conn.excute(sql)

用 rs("别名") 获取统的计值,其它函数运用同上。

╔----------------------╗

☆数据表的建立和删除☆

╚----------------------╝

CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… ) 例:CREATE TABLE tab01(name varchar(50),datetime default now()) DROP TABLE 数据表名称 (永久性删除一个数据表)

╔--------------------╗

☆记录集对象的方法☆

╚--------------------╝

rs.movenext 将记录指针从当前的位置向下移一行

rs.moveprevious 将记录指针从当前的位置向上移一行

rs.movefirst 将记录指针移到数据表第一行

rs.movelast 将记录指针移到数据表最后一行

rs.absoluteposition=N 将记录指针移到数据表第N行

rs.absolutepage=N 将记录指针移到第N页的第一行

rs.pagesize=N 设置每页为N条记录

rs.pagecount 根据 pagesize 的设置返回总页数

rs.recordcount 返回记录总数

rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否

rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否

rs.delete 删除当前记录,但记录指针不会向下移动

rs.addnew 添加记录到数据表末端

rs.update 更新数据表记录

把EXCEL表的数据导入到SQL数据库

如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写 唯一下载软件下载,软件,下载,共享,共享软件,免费,免费软件,汉化,汉化补丁,游戏,游戏下载,软件教程,软件新闻,软件资讯,操作系统,邮件. 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编 写· https://www.360docs.net/doc/9e9134655.html,/jasoncheung/archive/2005/01/07/243624.aspx /*=================== 导入/导出Excel的基本方法===================*/ 从Excel 文件中,导入数据到SQL数据库中,很简单, ... 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写. 摘要:如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写――点击此处阅读全文. 发表于@ 2006年04月05日11:21:00 | 评论(loading...) Powered by: Copyright ? gjcxywwx. DTS 能从文本文件或OLE DB 数据源(例如,Microsoft Access 2000 数据库)将数据导入到SQL Server 中。或者,也可以从SQL Server 将数据导出到OLE DB ...用DTS是肯定可以的,而且可以自动生成VB代码。我也不知道如何用SQL语句实现,关注!!!Top ... 例如:导入和导出数据。DTS 能从文本文件或OLE DB 数据源(例如,Microsoft Access 2000 数据库)将数据导入到SQL Server 中。或者,也可以从SQL Server 将数据...用DTS是肯定可以的,而且可以自动生成VB代码。我也不知道如何用SQL语句实现,关注!... ... gjcxywwx 2006-06-19T10:26:00Z VB操作LotusNotes数据库Wed, 24 May 2006 04:07:00 +0800 ... gjcxywwx 2006-04-05T11:28:00Z 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写Wed, 05 Apr 2006 19:21:00 +0800 ... 如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写. 导出表中的数据到Excel,包含字段名,文件为真正的Excel文件,如果文件不存在,将自动创建文件,如果表不存在,将自动创建表基于通用性考虑,仅支持导出标准数据类型--邹建2003.10--*/导出查询中的数据...

Excel如何利用透视表制作汇总报表

Excel如何利用透视表制作汇总报表 各位读友大家好!你有你的木棉,我有我的文章,为了你的木棉,应读我的文章!若为比翼双飞鸟,定是人间有情人!若读此篇优秀文,必成天上比翼鸟! 篇一:Excel数据透视表和透视图的制作Excel2007数据透视表和透视图的制作Excel2007 数据透视是一种可以快速汇总大量数据的交互式方法。使用数据透视表可以深入分析数值数据,并且可以回答一些预计不到的数据问题。数据透视表是针对以下用途特别设计的:以多种友好方式查询大量数据;对数值数据进行分类汇总,按分类和子分类对数据进行汇总,创建自定义计算和公式;展开或折叠要关注结果的数据级别,查看感兴趣区域摘要数据的明细;将行移动到列或将列移动到行,以查看源数据的不同汇总;对最有用和最关注的数据子集进行筛选、排序、分组和有条件地设置格式。 1.数据透视表的创建

设某Excel2007 工作表如图1所示。可以看出,数据显得有些杂乱,通过数据透视表,我们可很方便地查看到想要的数据。下面,我们一起来创建数据透视表。图1 原始台账第1步打开“数据透视表”设置框首先,在有数据的区域内单击任一单元格(如C5),以确定要用哪些数据来创建数据透视表。接着,单击“插入”,切换到该工具面板之下;然后,单击“数据透视表”,如图2所示。图2 打开“数据透视表”设置框第2步选择摆放位置首先,从弹出的对话框看,它已确定出了要用哪些数据区域来创建数据透视表。本例为“Sheet1!$A$1:$E$16”,这正是我们所需,不用修改。接着,选择要将数据透视表摆放到什么位置,在“放置数据透视表的位置”下进行选择即可。考虑到本例的数据很少,可选择本工作表,这样,还可随时查看到源数据。这里选择“现有工作表”,单击“位置”后的展开按钮,如图3所示。图3 选择数据透视表的摆放

SQL Server数据与Excel表的导入导出

几乎所有的数据库管理者或者是与数据库打过交道的朋友,几乎都或多或少的了解并使用过数据导入导出的功能以便完成支持诸如数据合并、归档和分析等任务,以及开发应用程序或升级数据库或服务器,而这一切的便利都已经被SQL Server中的数据转换服务(DTS)囊括其中,它提供了一套图形化工具和可编程对象,以帮助管理员和开发人员和需要进行数据维护的人员解决数据移动问题,其中包括将数据从分散的数据源中提取出来,并且转换、合并到一个或多个目标位置。可以将任务组、工作流操作以及约束条件收集起来形成DTS软件包,然后安排它定期运行或在某些事件发生后运行。 首先我们来先认识一下什么是DTS,它是一组工具,用于在一个或多个数据源(如Microsoft SQL Server、Microsoft Excel或Microsoft Access)间导入、导出和转换各种数据。通过OLE DB(一种数据访问的开放式标准)提供连接,通过用于ODBC的OLE DB提供程序来支持ODBC(开放式数据库连接)数据源。 在这里我们将以具体的实例来介绍DTS数据的导入导出功能。例:使用DTS向导导出自己建立的dmtjxxb数据库中的dmtjxxb_register表,到Excel表中。 操作步骤为: (1)启动SQL Server企业管理器(Enterprise Manager)后,点击SQL Server组,选择 指定的服务器,如此次操作的数据库是我本地的数据库,如图:

SQL Server企业管理器

本地数据库 选中要导出的数据库名称,点击鼠标右键,在弹出的菜单点击“所有任务”选择“导出数据”选项,如下图所示,就会弹出数据导入导出向导。 (2)单击“下一步”按钮,打开选择数据源对话框,如下图所示:

excel2019数据透视表如何排序

excel2019数据透视表如何排序 篇一:excel2019之数据透视表和数据透视图技巧 本章导读 利用数据透视表可以快速汇总大量数据并进行交互,还可以深入分析数值数据,并回答一些预计不到的数据问题。使用Excel数据透视图可以将数据透视表中的数据可视化,以便于查看、比较和预测趋势,帮助用户做出关键数据的决策。 8 数据透视表和数据透视图实战技巧 数据透视表基本操作实战技巧 使用数据透视表可以汇总、分析、浏览和提供摘要数据。掌握了数据透视表的额基本操作,可以为数据分析打下基础。 数据透视表应用实战技巧 如果要分析相关的汇总值,尤其是在要合计较大的数字列表并对每个数字进行多种比较时,使用数据透视表会很容易。 数据透视图操作实战技巧 数据透视图是提供交互式数据分析的图表,用户可以更改数据,查看不同级别的明细数据,还可以重新组织图表的布局。 8.1 数据透视表基本操作实战技巧 例1 利用数据透视表可以快速汇总大量数据并进行交互,还可以深入分析数值数据,并

回答一些预计不到的数据问题。其创建方法如下: 打开工作表,选中数据区域中任意单元格,单击“插入”选项卡“表”组中“数据透视表”按钮下方的下拉按钮,在弹出的下拉菜单中选择“数据透视表”选项,如下图所示。 再次单击折叠按钮,展开对话框,其他选项保持默认,如下图所示。 在“创建数据透视表”对话框的“选择放置数据透视表的位置”选项区中选中“新工作表”单选按钮,则 在创建数据透视表的同时新建新工作表;若选中“现有工作表”单选按钮,可在所选位置创建数据透视表。 弹出“创建数据透视表”对话框,单击“表/区域”文本框右侧的折叠按钮,选择数据区域,如下图所示。 单击“确定”按钮,在新工作表中创建数据透视表,此时,新工作表中将显示“数据透视表字段列表”任务窗格,如下图所示。 在“数据透视表字段列表”任务窗格的“选择要添加到报表的字段”选项区中选中要在数据透视表中显示的字段,如下图所示。 在“选择要添加到报表的字段”列表中选中需要显示字段,此时的数据透视表如下图所示。 例2 用户可根据不同的需求,创建不同的透视表,方法如下:在表格中选择任意单元格,单击“插入”选项卡“表”组中“数据透视表”按钮下方的下拉按钮,在弹出的下拉菜单中选择“数据透视表”选项,弹出“创建数据透视表”对话框,如下图所示。

图解把EXCEL数据导入到SQL SERVER 2008

实验环境:WIN XP,MS Office Excel2007,Sql Server2008 准备数据:Excel文档:D:\test\重复出修率.xlsx 方法一: 第一步:打开SSMS: 【开始】→【所有程序】→【Microsoft Sql Server2008】→【Sql Server Management Studio】

第二步:连接数据库: 在’对象资源管理器’中点击【连接】→【数据库引擎】登陆服务器 (P.S:如果没有看到’对象资源管理器’,点击左上角的【视图】→【对象管理器】) 第三步:登陆成功后,右击你要导入数据的数据库名,我这里数据库名是’TEST’ 右击【TEST】→【任务】→【导入数据】

这时候会出现一个向导:点击【下一步】 在弹出的窗口中,【数据源】选择:Microsoft Excel; 【Excel文件路径】就选择你本地电脑存放Excel文档的路径,我这里是D:\test\重复出修率.xlsx 【Excel版本】选择Excel2007(可以根据你office的版本,选择其他如Excel2003等等。)选中【首行包含列名称】框,最后点击【下一步】 “首行包含列名称”是指Excel中的首行数据插入数据库后将作为新建表的列名.

在弹出窗口中,【目标】可以采取默认的,【服务器名称】也是一样可以选择身份验证,最后选择你要插入数据到哪个数据库中。 如我这里选的是’TEST’,选好后点击【下一步】

如果就把Excel数据插入一个新表,就选择【复制一个或多个表或视图的数据】 如果想把Excel数据插入到已存在的一张表中,则选择下面的【编写查询以指定要传输的数据】 我这里是选择上面一个,然后点击【下一步】 接着会弹出Excel表中的sheet表名字,如果你没有修改过sheet表名字,则可能显示的是’shee1$’,’shee2$’,’shee3$’等等. 然后你选中你想要导入的哪张表的数据,我这里导入的是【’aug$’】 选中后,右边的【目标】栏位中会出现内容, dbo是指数据库的架构名,aug$只是新建的表名,如果你想修改表明,双击就可以表明进入编辑状态就可以修改了。我这里修改的表名称为:aug_info

Excel数据透视表的日常应用技巧

Excel数据透视表的日常应用技巧 各位读友大家好!你有你的木棉,我有我的文章,为了你的木棉,应读我的文章!若为比翼双飞鸟,定是人间有情人!若读此篇优秀文,必成天上比翼鸟! 篇一:Excel使用技巧之数据透视表Excel使用技巧之数据透视表对于Excel来说,如何处理所记录的数据是至关重要的。在这里,我想向各位同事推荐“数据透视表”这个数据处理的“大杀器”!在Excel 2007版本里,“数据透视表” 就是“插入”选项卡中的第一个功能,可见其使用频率之高(见图1)。数据透视表的官方解释是:使用数据透视表可以轻松排列和汇总复杂数据,并可以进一步查看详细情况。也就是说,它是自动生成分类汇总表的工具,可以按任意角度、任意多层级、不同的汇总方式,得到不同的汇总结果。下面就由我来为大家演示一遍数据透视表的使用方法。要使用数据透视表,首先要有一

个用于存放原始数据的工作表(以下简称源数据表)。而有了源数据表后,我们只需要选中源数据表的任意单元格,点击“数据透视表”即可调出数据透视表的创建向导,直接点击“确定” 就能把数据透视表调用出来了(见图2)。其中需要进一步解释的是,在图2右下角的字段排列组合区域中,“报表筛选”是指汇总表以该字段来分类,如当“销售日期”字段在“报表筛选”中时,数据透视表显示为某个销售日期的数据分类汇总情况;“列标签”是指数据透视表显示在不同列上的字段,即在汇总表格上面的字段;“行标签”是指数据透视表显示在不同行上的字段,即在汇总表格左边的字段;“数值”是指待汇总的字段。以图3为例,这是一张按销售人员,汇总不同城市、销售各类产品金额的分类汇总表。其中,“销售人员”为报表筛选所在字段,所以该表反映了销售人员“陈玉美”的销售汇总数据;“产品名称”为列标签所在字段,所以各类产品按列一字排

将EXCEL导入SQL表

将EXCEL表导入SQL表 医院在正式使用软件之前,需要将药品、收费项目等进行集中录入。这是一件基础工作,工作量大。如果能够先将药品、收费项目输入到EXCEL表中,再直接导入我们的软件,这样可以加快录入速度。 从EXCEL中导入数据到SQL中,操作步骤如下: 一、准备阶段(主要是为药品或者项目生成六位数的字母编码。): 首行,需要在EXCEL中增加一列,为药品生成编码。软件默认的编码格式为六位字母。1、人工录入完成的EXCEL表样式: 请将第一行中的编码、名称、处方单位等中文改成对应的拼音字母: 编码(bm)、药品名称(mc)、处方单位(dw)、整量单位(kxdw)、换算系数(xs)、规格(ggxh)、零售价(lsj)、药品分类(zxfl) 1、这时,编码(bm)列为空,在灵图医院软件中,药品的编码格式为六位字母,如AAAABA、AAAABB 等,但如何能够按顺序生成这样的编码呢?操作步骤如下: A、依次点工具-宏-visaul basic 编辑器,新弹出窗口如下:

B、在左边的对象上,右键,选择“导入文件…”,在文件选择路径中,找到医院软件目录中的bm.bas 文件,确定。 C、这时,在“模块”下方将增加“自动编码”模块, D、关掉本窗口,返回到EXCEL窗口 2、在表的A2单元格中输入编码:AAAABA 3、选中A3单元格,在上面的公式条中输入=GETNEXTBM(A2),回车确认,则A3单元格中的值自 动生成为:AAAABB 4、选中A3单元格,往下拉,所有的编码将自动生成。 二、将EXCEL表导入SQL表 1、依次打开SQL的企业管理器-数据库-表,如图:

用excel中数据透视表分类求数据平均值方法

用excel中数据透视表分类求数据平均值方法篇一:Excel教程中数据透视表的用法实例 Excel教程中数据透视表的用法实例数据透视表是一个系列教程,IT部落窝小编会为大家逐步讲解数据透视表和数据透视图关联的知识,配合实例加以讲解,并附上案例的excel源文件供大家学习使用。 数据透视表是excel教程中功能最大、使用最灵活、操作最简单的工具。使用数据透视表不必输入复杂的公式和函数,仅仅通过向导就可以创建一个交互式表格,从而自动提取、组织和汇总数据。如果将数据透视表和函数结合使用,更能创建出满足各种需求的报表。什么是数据透视表呢?数据透视表就是一种交互式报表,可以快速分类汇总大量的数据,并可以随时选择页、行和列中的不同元素,快速查看源数据的不同统计结果,同时还可以随意显示和打印出用户感兴趣区域的明细数据,使分析、组织复杂的数据更加快捷有效。数据透视表的作用就是将用户从创建复制公式、使用各种函数的烦琐工作中解脱出来,使其迅速而准确的对数据进行处理分析,制作出漂亮的报告和图表。 以工作表数据制作数据透视表的注意事项有以下七点: 以工作表数据制作数据透视表,这些工作表数据必须是一个数据清单。所谓数据清单,就是在工作表数据区域的顶端行为字段名称(标题),以后各行为数据(记录),并且各列只包含一种类型数据的数

据区域。这种结构的数据区域就相当于一个保存在工作表的数据库。第一,数据区域的顶端行为字段名称(标题)。 第二,避免在数据清单中存在有空行和空列。这里需指明以下,所谓空行,是指在某行的各列中没有任何数据,如果某行的某些列没有数据,但其他列有数据,那么该行就不是空行。同样,空列也是如此。 第三,各列只包含一种类型数据。 第四,避免在数据清单中出现合并单元格。 第五,避免在单元格的开始和末尾输入空格。 第六,尽量避免在一张工作表中建立多个数据清单,每张工作表最好仅使用一个数据清单。 第七,工作表的数据清单应与其他数据之间至少留出一个空列和一个空行,以便于检测和选定数据清单。 在制作数据透视表之前,应该按照以上7点来检查数据区域,如果不满足上面的要求,需要先进行整理工作表数据从而使之规范。 本文讲解了三个知识点:第一,什么是数据透视表,第二,数据透视表的作用,第三以工作表数据制作数据透视表的注意事项,下面一片文章,我们将以实例介绍如何整理数据清单:删除数据区域内的所有空行的四种方法。删除数据区域内所有空行的方法有多种,比如排序、高级筛选、自动筛选、VBA编写。下面小编就这几种删除空行的方法逐一介绍。 本文实例为员工的工资和个税清单。在这个数据清单中就存在

图解把Excel数据导入到SQL Server 2008

实验环境: WIN XP ,MS Office Excel 2007 ,Sql Server 2008 准备数据: Excel文档: D:\test\重复出修率.xlsx 方法一: 第一步: 打开SSMS: 【开始】→【所有程序】→【Microsoft Sql Server 2008】→【Sql Server Management Studio】

第二步: 连接数据库: 在’对象资源管理器’中点击【连接】→【数据库引擎】登陆服务器 (P.S:如果没有看到’对象资源管理器’,点击左上角的【视图】→【对象管理器】) 第三步: 登陆成功后,右击你要导入数据的数据库名,我这里数据库名是’TEST’ 右击【TEST】→【任务】→【导入数据】

这时候会出现一个向导:点击【下一步】 在弹出的窗口中,【数据源】选择:Microsoft Excel ; 【Excel文件路径】就选择你本地电脑存放Excel文档的路径,我这里是D:\test\重复出修率.xlsx 【Excel版本】选择Excel 2007 (可以根据你office的版本,选择其他如Excel 2003等等。)选中【首行包含列名称】框,最后点击【下一步】 “首行包含列名称”是指Excel中的首行数据插入数据库后将作为新建表的列名.

在弹出窗口中,【目标】可以采取默认的,【服务器名称】也是一样可以选择身份验证,最后选择你要插入数据到哪个数据库中。 如我这里选的是’TEST’,选好后点击【下一步】

如果就把Excel数据插入一个新表,就选择【复制一个或多个表或视图的数据】 如果想把Excel数据插入到已存在的一张表中,则选择下面的【编写查询以指定要传输的数据】 我这里是选择上面一个,然后点击【下一步】 接着会弹出Excel表中的sheet表名字,如果你没有修改过sheet表名字,则可能显示的是’shee1$’, ’shee2$’, ’shee3$’等等. 然后你选中你想要导入的哪张表的数据,我这里导入的是【’aug$’】 选中后,右边的【目标】栏位中会出现内容, dbo是指数据库的架构名,aug$只是新建的表名,如果你想修改表明,双击就可以表明进入编辑状态就可以修改了。我这里修改的表名称为:aug_info

通过ODBC直接读、写Excel表格文件

想要通过ODBC直接读、写Excel表格文件,首先,应确保ODBC中已安装有Excel表格文件的驱动"MICROSOFT EXCEL DRIVER (*.XLS)"。然后,可根据下面步骤进行:1. 在StdAfx.h文件中加入:include include 2. 通过ODBC直接创建Excel文件(暂定文件名:Demo.xls) //创建并写入Excel文件void CRWExcel::WriteToExcel() { CDatabase database; CStringsDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动CStringsExcelFile = "c:\\demo.xls"; // 要建立的Excel文件CStringsSql; TRY { // 创建进行存取的字符串sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\" ;DBQ=%s",sDriver, sExcelFile, sExcelFile); // 创建数据库(既Excel表格文件) if( database.OpenEx(sSql,CDatabase::noOdbcDialog) ) { // 创建表结构(姓名、年龄) sSql = "CREATE TABLE demo (Name TEXT,Age NUMBER)"; database.ExecuteSQL(sSql); // 插入数值sSql = "INSERT INTO demo (Name,Age) VALUES ('徐景周',26)"; database.ExecuteSQL(sSql); sSql = "INSERT INTO demo (Name,Age) VALUES ('徐志慧',22)"; database.ExecuteSQL(sSql); sSql = "INSERT INTO demo (Name,Age) VALUES ('郭徽',27)"; database.ExecuteSQL(sSql); } // 关闭数据库database.Close(); } CATCH_ALL(e) { Excel学习教程Excel介绍Excel教程Excel 表格Excel函数Excel图表TRACE1("Excel驱动没有安装: %s",sDriver); } END_CATCH_ALL; } 3. 通过ODBC直接读取Excel文件(暂定文件名:Demo.xls) // 读取Excel文件void CRWExcel::ReadFromExcel() { CDatabase database; CStringsSql; CString sItem1, sItem2; CStringsDriver; CStringsDsn; CStringsFile = "Demo.xls"; // 将被读取的Excel文件名// 检索是否安装有Excel驱动"Microsoft Excel Driver (*.xls)" sDriver = GetExcelDriver(); if (sDriver.IsEmpty()) { // 没有发现Excel驱动AfxMessageBox("没有安装Excel驱动!"); return; } // 创建进行存取的字符串sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s", sDriver, sFile); TRY { // 打开数据库(既Excel文件) database.Open(NULL, false, false, sDsn); CRecordsetrecset(&database); // 设置读取的查询语句. sSql = "SELECT Name, Age " "FROM demo " "ORDER BY Name "; // 执行查询语句recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly); // 获取查询结果while (!recset.IsEOF()) { //读取Excel内部数值recset.GetFieldValue("Name ", sItem1); recset.GetFieldValue("Age", sItem2); // 移到下一行recset.MoveNext(); } // 关闭数据库database.Close(); } CATCH(CDBException, e) { // 数据库操作产生异常时... AfxMessageBox("数据库错误: " + e->m_strError); } END_CATCH; } // 获取ODBC中Excel驱动CStringCRWExcel::GetExcelDriver() { char szBuf[2001]; WORD cbBufMax = 2000; WORD cbBufOut; char *pszBuf = szBuf; CStringsDriver; // 获取已安装驱动的名称(涵数在odbcinst.h里) if (!SQLGetInstalledDrivers(szBuf, cbBufMax, &cbBufOut)) return ""; // 检索已安装的驱动是否有Excel... do { if (strstr(pszBuf, "Excel") != 0) { //发现! sDriver = CString(pszBuf); break; } pszBuf = strchr(pszBuf, '\0') + 1; } while (pszBuf[1] != '\0'); return sDriver; }

Excel使用技巧之数据透视表

Excel使用技巧之数据透视表 对于Excel来说,如何处理所记录的数 据是至关重要的。在这里,我想向各位同事 推荐“数据透视表”这个数据处理的“大杀 器”!在Excel 2007版本里,“数据透视表” 就是“插入”选项卡中的第一个功能,可见 其使用频率之高(见图1)。 数据透视表的官方解释是:使用数据透视表可以轻松排列和汇总复杂数据,并可以进一步查看详细情况。也就是说,它是自动生成分类汇总表的工具,可以按任意角度、任意多层级、不同的汇总方式,得到不同的汇总结果。下面就由我来为大家演示一遍数据透视表的使用方法。 要使用数据透视表,首先要有一个用于存放原始数据的工作表(以下简称源数据表)。 而有了源数据表后,我们只需要选 中源数据表的任意单元格,点击 “数据透视表”即可调出数据透视 表的创建向导,直接点击“确定” 就能把数据透视表调用出来了(见 图2)。 其中需要进一步解释的是,在图2右下角的字段排列组合区域中,“报表筛选”是指汇总表以该字段来分类,如当“销售日期”字段在“报表筛选”中时,数据透视表显示为某个销售日期的数据分类汇总情况;“列标签”是指数据透视表显示在不同列上的字段,即在汇总表格上面的字段;“行标签”是指数据透视表显示在不同行上的字段,即在汇总表格左边的字段;“数值”是指待汇总的字段。

以图3为例,这是一张按销售人员,汇总不同城市、销售各类产品金额的分类汇总表。 其中,“销售人员”为报表筛选所 在字段,所以该表反映了销售人 员“陈玉美”的销售汇总数据; “产品名称”为列标签所在字段, 所以各类产品按列一字排开,在 列上面按城市进行汇总;“城市” 为行列标签所在字段,所以各个城市按行一字排开,在行上面按产品进行汇总;“金额”为数值所在字段,因为汇总方式默认为求和,所以字段的行/列交叉点显示为某城市某产品的销售金额总数。 那么图3的表格是怎么“变”出来的?下面就让我一步一步地为大家演示一遍,如何“变”出一张各地区、城市销售各类产 品数量总额的二级汇总表,总共 只需以下三步鼠标操作。 第一步,勾选所需字段。在 右上角的字段列表中依次选取 “地区”、“城市”、“产品名称”、 “数量”共四个字段,此时左侧的报表生成区域立刻生成了相应的数据透视表,而右下角的区域也出现了相应的四个字段(见图4)。 第二步,拖拽字段。将行标签中的“产品名称”拖至列标签,如果“地区”、“城市”两 个字段没有按范围大小来从上到 下排序,也可用鼠标拖动来调整 顺序。“数量”字段被系统自动放 在数值处,故无需调整(见图5)。 第三步,美化表格。虽然通 过拖拽字段,Excel会自动分析并组装数据,然后显示为正确的汇总表样式,以及准确的汇总结果。但是此时的汇总表十分简陋,需要我们对该表进行最后的“美容”,如调整行距或列宽、居中显示、描绘边框等等。最后,我们就这样“变”出一张各地区、城市销售各类产品数量总额的二级汇总表来了(见图6)。

如何将EXCEL数据导入到DATAGRID

如何将EXCEL数据导入到DA TAGRID 设计人:温源 1,Form窗体设计如下 2,源程序 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ds.Clear() OpenFileDialog1.Filter = "EXCEl文件 (*.xls;*.xlsx;*.csv)|*.xls;*.xlsx;*.csv|所有文件(*.*)|*.*" OpenFileDialog1.FilterIndex = 1 OpenFileDialog1.CheckFileExists = True OpenFileDialog1.CheckPathExists = True OpenFileDialog1.ShowDialog() Dim filename As String filename = OpenFileDialog1.FileName If filename = "" Then MsgBox("没有选择文件!无法进行数据导入") Exit Sub End If EcxelToDataGridView(filename, DataGrid1) End Sub Sub EcxelToDataGridView(ByVal filePath As String, ByVal dgv As DataGrid) Dim strConn, strExcel, sheetname As String ' strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & filePath & ";Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'" strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & filePath &

人事必备:用EXCEL表轻松建立人事数据库

轻松运用EXCEL建立人事信息库 接下来请您不要急着录入人员信息,我们要对一些信息项进行函数设置,以便系统可以自动生成相关信息,这会使我们的工作产生事半功倍的效果。 1、性别、出生月日、年龄的自动填充功能设置 我们先对“性别”“出生年月”“年龄”进行函数设置。当我们输入某人身份证号码时,系统便会自动生成“性别”,“出生年月”及“年龄”,这样就减少了我们录入的工作量。请分别选择性别、出生月日、年龄信息项单元格输入下列公式: (1)性别: =IF(MOD(IF(LEN(E3)=15,MID(E3,15,1),MID(E3,17,1)),2)=1,"男","女") 含义:“LEN(E3)=15”表示看E3中是否有15个字符; “MID(E3,15,1)”表示在E3中从第15位开始提取1位字符; “MOD(MID(),2)=1”表示提取的字符除以2余数为1; “IF(LEN(E3)=15,MID(E3,15,1),MID(E3,17,1)”表示看E3中是否够15个字符,如果够就从第15个字符开始取1个字符,如果不够15个字符就从第17个字符开始取1个字符。我们的身份证号码一般是15位或18位。 “IF(MOD(IF(LEN(E3)=15,MID(E3,15,1),MID(E3,17,1)),2)=1,"男","女"”表示所取字符除以2如果余数为1显示男,否则显示女。 (2)出生年月: =DATE(MID(E3,7,4),MID(E3,11,2),MID(E3,13,2)) 含义:DATE(YEAR,MONTH,DAY); “MID(E3,7,4)”表示在E3中从第7个字符开始连续取4个字符表示年,用类似的表示方法一个人的出生年月日便可以通过函数设置表示出来,如果为了看起来方便,我们可以将单元格格式设置成年、月、日的日期格式,这样显示的结果会非常容易理解。 (3)年龄: =DATEDIF(G3,TODAY(),"Y") 含义:“DATEDIF(date1,date2,“Y”)”表示两个日期的差值; “TODAY()”表示系统自带的日期即显示当日日期; “DATEDIF(G3,TODAY(),"Y")”表示今天的日期与G3所表示的出生月日之间的年份差值,这样一个人的年龄就会容易的显示出来了。 2、劳动合同期限的自动生成和提前30天定期提醒功能设置 劳动合同管理也是人事管理中不可缺少的一部分,特别是劳动合同到期续签问题更是不可忽视。如果由于我们的人为原因造成了劳动合同漏签、延期签订等问题可能会给公司以及员工个人带来一定的损失。从一个人入职签订试用期合同开始,再到签订正式劳动合同以及后来的续签劳动合同,一系列的日期如何能够让系统自动生成,并且形成系统提前30天自动提醒我们的功能呢?这需要对一些信息项进行函数设置。如图(二)所示:

将Access数据库导入到Excel表格

将Access数据库导入到Excel表格 Access数据库管理系统作为Microsoft Office系列软件成员之一,以其强大的数据库管理功能,成为许多中小型信息管理系统的首选开发工具,应用十分广泛。 对于一般用户来说,往往对Aceess的熟悉程度远远不如同样是Office成员的Excel, 因为Excel界面直观、操作简便(能通过菜单实现大部分功能),大量的函数可直接在单元格内使用,而使用Access要对数据库知识有一定的理解,操作相对复杂,函数也只能在VBA 语言中使用,因此一般用户在处理Access数据库文件时,往往不知道如何查找或统计出想要的结果。如果能将一个Access数据库中的数据转化为Excel表格,将会大大提高处理效率。Excel的VBA(Visual Basic for Application)语言即提供了这样的功能,它可以对Access 数据库(*.mdb文件)中的内容进行查询、提取、增加、删除等操作。 笔者用Excel的VBA设计了一个小工具(见附件),可以将Access数据库中的“表”和“查询”中的内容提取到Excel表格中。所谓“表”,就是Access数据库中保存的原始数据,具体为一个或多个二维数据表,“查询”为程序员根据“表”的内容生成的用户想要等到的结果,也是以二维表的形式存放。下面介绍一下使用方法: 一、打开“导入Access数量库.xls”工作簿,确认“启用宏”,点击“Sheet1”表中的“导入MDB文件按钮”,出现打开文件对话框,找到要导入的Access数据库文件并打开。 二、打开一个Access数据库文件后,出现一个小窗体,用于选择是导入“表”,还是导入“查询”。选择“表”/“查询”后,该数据库所有的“表”/“查询”的名称将出现在下方的选择列表中,选择要导入的“表”/“查询”的名称,输入要导入的记录条数,点击“确定”,该“表”/“查询”的内容将导入到一个新建的工作簿中。(见下图) 说明:EXCEL和外部数据库打交道是通过引用功能实现的:在该工作簿中通过菜单或按“Alt-F11”键打开“Visual Basic 编辑器”,在顶层菜单中选择“工具(T)”—“引用(R)”,出现下图的窗口:

excel2019表格数据透视表如何筛选重复

excel2019表格数据透视表如何筛选重复 篇一:EXCEL表格怎样把重复的名称和数据找出来 EXCEL表格怎样把重复的名称和数据找出来? 用了几个函数,不是重复的它显示是重复的,(显示重复的是数字相差10)盘头十字4*8 与盘头十字4*18它说重复,第一个不重复,第二个是重复了,这是什么原因?多谢高手 =IF(COUNTIF($A$1:A1,A1)>1,"重复","") 用单元格 =COUNTIF($A$1:A1,A1)>1 条件格式 不知道是不是要这样的,有问题在hi我。 追问 首先谢谢你,出现这样的情况,可能是数字原因,有办法不? 盘头十字4*18 盘头十字4*8 重复 盘头十字4*25 盘头十字4*5 重复 沉头十字3*14 沉头十字3*4 重复 因为你的*被excel当通配符处理了。所以你得先所里面的*给换掉。可以用excel的查找替换处理,也可以用公式 =IF(COUNTIF($A$1:A1,SUBSTITUTE(A1,"*",))>1,"重复","")

得说一下,你里面每个数据里都有*吗? 没有的话,就把上面公式里substitute的第三参数改一下,最好能改成数据里没有的。现在的公式是把所有的*给处删掉处理。但如果你的数据里有的没有*的话就会出错,比如“盘头4*18”和“盘头418”就一样了。 不是我想出来了,是经老师指点才知道 用的2019吧,用2019直接就有一个检查重复的工具,不用你去写啥函数.如图,选择重复值 我想把相同数据找出来然后都删掉,只保留不重复的数据应该怎么做 举个例子,比如 1 2 2 3 3 3 4 4 5 最后只保留 1

把Excel中的数据导入Oracle 数据库中练习题.doc

教你怎么样把Excel 文件中的数据导入到Oracle 数据库中 第一种:最简单的方法。 在EXCEL中全选数据,然后COPY。接着打开PL/SQL DEVELOPER,打开SQL窗口,输入select * from mytable for update; 然后执行,就可以看到查出目的表mytable数据,如果是空表,当然是没数据了。然后点击下面列表上方的锁(编辑数据),不管有没有数据,我们选择最后一个空行的行头,让整行变成黑色则表示整行已全选中。注意该行左边是有个黑色实心三角箭头的。然后粘贴,再commit 就OK咯。 说明:而且这个方法还有个好处就是对EXCEL中的日期型、数值型字段的处理也很正常,数据类型不会丢失。 图:选中了行然后粘贴数据 第二种:简单的方法。 先将Excel文件另存为一个.csv 文件,然后编写一个insert.ctl文件,ctl文件写法如下:load data--1、控制文件标识 infile 'test.csv'--2、要输入的数据文件名为test.csv append into table table_name --3、向表table_name中追加记录 fields terminated by ','--4、字段终止于',',是一个逗号 (field1, field2, field3, ... fieldn)-----定义列对应顺序 field(x)要与Oracle表中的字段名保持一致(大写) 最后在DOS命令下执行以下命令: sqlldr user/password control=insert.ctl

图:表示导入了12条记录 第三种:比较简单的方法。 如果数据不是很多,可以使用如下方法: 假设表名为test_excel,有4列数据,则设置Excel的E1单元格的值为 ="insert into test_excel values(‘” & A1 & “’, ‘” & B1 & “’, ‘” & C1 & “’, ‘” & D1 & “’);” 向下拖动该公式,则生成一列sql,把其copy到sql/plus中执行即可(如果数据中有单引号,需要先替换成两个),临时导数据用这种方法还是比较方便的。 图:使用Excel的公式功能为我们生成的SQL语句 图:导入到Oracle数据库后的表数据

excel—数据透视表规范.docx

地区城市日期品牌车型 华北北京2011/02/23奥迪A8L 45 TFSI quattro豪华型 华北天津2011/03/04奥迪A8L 30FSI专享型 东北沈阳2011/06/09奥迪A8L 50 TFSI quattro豪华型 东北长春2012/01/14奥迪A8L 30FSI舒适型 东北哈尔滨2012/04/14奥迪A8L 50 TFSI quattro舒适型 华东上海2012/08/10奥迪A8L 45 TFSI quattro舒适型 华东南京2011/04/29宝马X5 xDrive35i领先型 华东杭州2011/05/24宝马X5 xDrive35i豪华型 华东合肥2012/01/13宝马X5 xDrive35i M运动型 中南郑州2011/02/26奔驰S400L HYBRID Grand Edition 中南武汉2011/06/10奔驰S300L 豪华型 Grand Edition 中南长沙2011/10/26奔驰S300L 商务型 Grand Edition 中南广州2011/12/06奔驰S350L 4MATIC Grand Edition 西南重庆2011/12/15奔驰S300L 尊贵型 Grand Edition 西南成都2012/01/20奔驰S350L Grand Edition 西南贵阳2011/06/04本田歌诗图 2.4L自动尊享版 西北西安2011/10/30本田歌诗图 2.4L自动豪华版 西北兰州2012/03/10本田歌诗图 3.5L V6自动尊贵版 东北大连市2012/03/19本田歌诗图 3.5L V6自动旗舰版 东北长春市2011/02/12别克君威 2.0L自动舒适版 华东苏州市2011/04/16别克君威 1.6T手动精英运动版 华东徐州市2011/09/11别克君威 2.4L自动旗舰版 华东扬州市2011/12/24别克君威 GS 2.0T豪情运动版 华东杭州市2012/07/15别克君威 2.4L自动精英版 华东合肥市2012/07/29别克君威 2.0L自动豪华版 华东厦门市2011/02/08大众辉腾 3.0 TDI自动精英定制型柴油版华东济南市2011/04/21大众辉腾 3.0L自动行政型汽油版 华东青岛市2011/08/22大众辉腾 3.0L自动精英定制型汽油版 华东烟台市2011/12/03大众辉腾 3.0 TDI自动行政型柴油版 中南安阳市2011/12/26大众辉腾 3.0L自动商务型汽油版 中南岳阳市2012/01/09大众辉腾 3.6L自动尊享定制型汽油版 中南张家界市2011/03/04丰田凯美瑞 2.0G自动豪华版 中南株洲市2011/05/22丰田凯美瑞骏瑞 2.0S 自动耀动版 中南佛山市2011/06/14丰田凯美瑞 200G 2.0L自动经典版 中南汕头市2012/04/13丰田凯美瑞 200E 2.0L自动经典版 中南中山市2011/10/19现代雅尊 2.4L自动豪华版 中南珠海市2011/11/08现代雅尊 2.4L自动旗舰版 中南北海市2012/07/26现代雅尊 2.4L自动尊贵版 中南柳州市2012/08/01现代雅尊 2.4L自动舒适版 中南南宁市2012/08/19现代雅尊 3.0L自动旗舰版

相关文档
最新文档