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

合集下载

把excel表格里的数据导入sql数据库的两种方法

把excel表格里的数据导入sql数据库的两种方法

把excel表格⾥的数据导⼊sql数据库的两种⽅法
本来最近在研究微信公众平台的,⽼⼤临时交我个任务,把excel表格⾥的数据导⼊sql数据库,我想这so easy嘛。

没想都在上⾯消磨了两天...
把情况介绍下:在数据库中有如下这样结构的表(A表)
我只取关键的及列⾥⾯还有很多数据。

有⼀张id和name对照的excel⽂件(B表)和N张结构类似的excel表(C表)(没有id那⼀列)
我的任务在B表中找到C表中数据对应的id后,然后将id加到C表中,最后根据id是唯⼀的,⽤C表的数据去更新A表的数据。

这⾥主要涉及了excel表格和数据库表间的转化。

是MySQL for Excel 是excel直接操作mysql数据库的⼀个插件,你可以像修改excel表格⼀样修改数据库,当然也可以进⾏表的合并等。

插件的安装,⼤家百度吧。

在使⽤这个的时候遇到了个问题,MySQL for Excel 能连接到本地的数据库,但在服务器上的数据库总是连接不上。

⽅案⼀破产
这⾥要注意两点⼀是excel表格中的⼿机号码要设置为⽂本格式 ,⼆是统⼀⽤繁体字。

出现空格乱码时,删除空格重写输⼊。

将excel数据导入oracle中的几种方法

将excel数据导入oracle中的几种方法

将excel数据导入oracle中的几种方法将Excel数据导入Oracle数据库有多种方法,下面介绍几种常用的方法,包括使用Oracle SQL Developer、使用PL/SQL、使用OracleData Integrator(ODI)和使用第三方工具。

1. 使用Oracle SQL Developer导入数据Oracle SQL Developer是Oracle官方提供的数据库开发和管理工具。

它提供了一种简单直观的方法将Excel数据导入到Oracle数据库中。

步骤如下:1) 打开Oracle SQL Developer并连接到目标数据库。

2)在导航栏中选择"表格"选项卡。

3)在"表格"选项卡中,右键单击要导入数据的表格,选择"导入数据"。

4) 在"导入数据"对话框中,选择"从文件"选项,并选择Excel文件。

5)配置导入选项,例如数据格式、目标表格和列映射等。

6)单击"导入"按钮,开始导入数据。

2.使用PL/SQL导入数据PL/SQL是Oracle的过程化编程语言,可以使用它编写脚本将Excel数据导入到Oracle数据库中。

步骤如下:1) 打开PL/SQL开发工具,例如Oracle SQL Developer或者Oracle PL/SQL Developer。

2)创建一个新的PL/SQL脚本。

3) 在脚本中使用INSERT语句将Excel中的数据逐行插入到目标表格中。

4)运行脚本以执行导入数据的操作。

3. 使用Oracle Data Integrator(ODI)导入数据Oracle Data Integrator(ODI)是一个数据集成工具,可用于将Excel数据导入到Oracle数据库中。

它提供了一种图形化的方法来定义和管理数据转换和导入操作。

步骤如下:1) 打开ODI Studio并连接到目标数据库。

将EXCEL导入SQL表

将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单元格中输入编码:AAAABA3、选中A3单元格,在上面的公式条中输入=GETNEXTBM(A2),回车确认,则A3单元格中的值自动生成为:AAAABB4、选中A3单元格,往下拉,所有的编码将自动生成。

二、将EXCEL表导入SQL表1、依次打开SQL的企业管理器-数据库-表,如图:2、将光标放在数据库(如:lingtu)上,单击右键,选择所有任务-导入数据。

弹开如下窗口:3、按下一步,在弹开的窗口中选择正确的数据源。

(注意:数据源选择为Microsoft Excel 97-2000)5、点“下一步”,弹开目的文件夹窗口:6、按下一步,选择用一条查询来指定需要传输的数据:7、点:下一步,点查询生成器命令,弹开如下窗口:8、选择左边的yp$,点向右的箭头,选中所需要还原的列。

如何把EXCEL数据导入到SQLSERVER数据库中

如何把EXCEL数据导入到SQLSERVER数据库中

如何把EXCEL数据导入到SQLSERVER数据库中将Excel数据导入SQL Server数据库可以通过以下步骤实现:1. 打开Excel文件并选择要导入的数据:首先,打开Excel文件并选择要导入到SQL Server数据库的数据。

确保数据位于连续的单元格区域内,并且包含正确的列和行标题。

2. 导出Excel数据为CSV格式:将Excel数据导出为CSV(逗号分隔值)格式,这种格式是一种常见的数据交换格式,可以方便地被导入到SQL Server数据库中。

在Excel中,选择“文件”>“另存为”,然后选择CSV格式进行保存。

3. 创建目标表:在SQL Server数据库中创建一个目标表,用于存储要导入的数据。

可以使用SQL Server Management Studio或任何其他SQL编程工具来创建表。

确保表结构与将要导入的Excel数据的列和行标题相匹配。

4. 定义目标表的列:为目标表定义与Excel数据相匹配的列,保证目标表的列名与Excel数据的列名相同,并且数据类型也相匹配。

如果需要修改列的数据类型或长度,可以使用ALTER TABLE语句进行修改。

5. 使用SQL Server导入向导:使用SQL Server导入向导来导入CSV文件中的数据。

打开SQL Server Management Studio,右键单击目标数据库,选择“任务”>“导入数据”来打开导入向导。

6. 选择数据源:在导入向导的“选择数据源”步骤中,选择适当的数据源类型,这里选择“Flat File Source”,然后浏览找到之前保存的CSV文件。

7. 配置数据源:在导入向导的“配置Flat File Source”步骤中,配置CSV文件的设置。

确保分隔符设置为逗号(CSV的默认分隔符),并根据需要调整其他设置。

点击“下一步”继续。

8.选择目标数据库:在导入向导的“选择目标表或查看现有表”步骤中,选择目标数据库和表。

sql server 语句 将excel数据插入到数据库表中的语句

sql server 语句 将excel数据插入到数据库表中的语句

sql server 语句将excel数据插入到数据库表中的语句将Excel数据插入到SQL Server数据库表中的方法有以下两种:情况一:Excel数据符合SQL Server数据表字段规则1. 在SQL Server Management Studio中,创建一个与Excel文件相对应的数据库表。

2. 编写SQL语句,使用`BULK INSERT`命令将Excel数据导入到数据库表中。

示例代码如下:```sqlBULK INSERT YourTableNameFROM 'Excel文件路径及文件名.xlsx'WITH (FORMATFILE = 'Excel文件路径及文件名.xlsx',FIRSTROW = 2, --从第二行开始导入数据,第一行为标题行TABLESTRUCTUREONLY = false);```情况二:Excel数据字段数量与SQL Server表字段数量不同1. 创建一个临时表,用于存储Excel数据。

2. 使用`INSERT INTO`语句将Excel数据插入到临时表中。

示例代码如下:```sqlCREATE TEMPORARY TABLE TempTable(Column1 datatype,Column2 datatype,--其他字段按需创建);--填充临时表数据INSERT INTO TempTableSELECT Column1, Column2FROM Excel文件路径及文件名.xlsxWHERE (Column1, Column2) IN (SELECT Column1, Column2FROM YourTableName);--将临时表数据插入到目标表中INSERT INTO YourTableNameSELECT Column1, Column2FROM TempTable;```注意:请根据实际情况替换`YourTableName`、`Excel文件路径及文件名.xlsx`以及数据表字段名称和类型。

Excel文件导入数据到SQL数据库

Excel文件导入数据到SQL数据库

从Excel文件导入数据到SQL数据库将Excel文件gongzibiao.xls中的数据导入到SQL Server 2005中。

----导入数据并生成表在SQL SERVER 2005新建数据库wangzhengwei,然后鼠标右键新建查询,输入select*into MyUser_gz from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=D:\胡兴\MyBook2.xls',sheet1$)将生成MyUser_gz表。

如果出现:SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。

系统管理员可以通过使用 sp_configure 启用 'Ad HocDistributed Queries'。

有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。

解决办法是在新建的数据库上右键新建查询,然后输入下面代码:EXEC sp_configure 'show advanced options', 1GORECONFIGUREGOEXEC sp_configure 'Ad Hoc Distributed Queries', 1GORECONFIGUREGO然后再执行select*into MyUser_gz from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=D:\胡兴\MyBook2.xls',sheet1$)注意:在执行之前必须把对应的.xls文件关闭。

[SQL]将Excel表数据导入SQL Server2005的几种方法归纳

[SQL]将Excel表数据导入SQL Server2005的几种方法归纳

[SQL]将Excel表数据导入SQL Server2005的几种方法归纳近日在巨轮着手车间负荷数据处理,反馈回来的数据是保存在Excel文件中的,我必须将其导入SQL Server2005中,供存储过程计算。

由于之前没有将Excel数据导入SQL Server2005的经验,因此摸索着花了一天时间才搞定。

下面将网上收集到的几种导入方法做个归纳。

方法一、利用SQL Server2005自带的DTS工具,手工导入:第一步是点击开始并选择运行并输入CMD然后在命令提示符里输入DTSWIZARD。

SQL Server 导入和导出向导的欢迎界面将显示出来,如下图所示:(也可以这样打开该界面:1、登录到 SQL Server Management Studio。

2、在“对象资源管理器”中右键单击“管理”,在弹出列表中单击“导入数据”。

)当你点击下一步按钮时,它将进入选择数据源向导界面。

用户应该选择数据源为Microsoft Office 12.0 Access Database Engine OLE DB Provider 然后在向导界面中点击属性…按钮,它将弹出数据链接属性界面。

在所有标签页中,双击数据源属性值并输入电子数据表的位置,例如“C:\Excel2007\Import\SampleData.xlsx”作为导入数据的数据源的Microsoft Office Excel 2007文件名称和路径。

然后双击扩展属性并选择Excel 12.0作为属性值。

到Microsoft Office Excel 2007的连接可以通过点击测试连接按钮来进行测试,如下图所示:在下一个页面中,数据源需要选为SQL Native Client,因为数据将导入到SQL Server 2005。

然后你需要选择数据所要导入的服务器名称,并需要配置合适的验证模式,它之后跟着数据库名称。

在这个例子中,我们将使用windows验证连接到本地SQL Server实例,所使用的数据库将是ImportExcel。

EXCEL表格导入到SQL数据库(附导入重复数据方法)

EXCEL表格导入到SQL数据库(附导入重复数据方法)

另:由于,SL Server 2005为了安全性,安装完以后,将很多组件的默认状态设置为不启用。如果需要用到这些特性,可以由管理员手工启用。为此,SL Server 2005还提供了一个专门的管理工具:SL Server Surface Area Configuration
要解决本文的问题,也就是要启用AD Hoc Distributed ueries特性,执行Surface Area Configuration,选择Surface Area Configuration for features
例如:
数据库里建好一个表testTable_1,有5个字段id, name, date, money, content,C盘下book1.xls文件的sheet1工作表里写好对应的数据并设好数据类型,执行如下插入语句即可:
insert into testTable_1 ([name], [date], [money], [content])
Data Source就是excel文件的路径,这个简单;UserId、Password和Extended properties这三个属性为 “User ID=Admin;Password=;Extended properties=Excel 5.0”。最后那个“xactions”就是excel文件里所选的工作表名,注意默认的Sheet1要写成[Sheet1$]。
rce( 'Microsoft.Jet.OLEDB.4.0',
'Data Source=&uot;c:\Finance\account.xls&uot;;User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写唯一下载软件下载,软件,下载,共享,共享软件,免费,免费软件,汉化,汉化补丁,游戏,游戏下载,软件教程,软件新闻,软件资讯,操作系统,邮件.如何成功把EXCEL表的数据导入到SQL数据库,代码如何编写· /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文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:/*========================================================== =========*/--如果接受数据导入的表已经存在insert into 表select * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)--如果导入数据并生成表select * into 表fromOPENROWSET('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..authors ORDER BY au_lname" queryout "c:test.xls" /c -/S"服务器名" /U"用户名" -P"密码"'/*--说明:c:test.xls 为导入/导出的Excel文件名.sheet1$ 为Excel文件的工作表名,一般要加上$才能正常使用.--*/--上面已经说过,用BCP导出的是类Excel文件,其实质为文本文件,--要导出真正的Excel文件.就用下面的方法/*--数据导出EXCEL导出表中的数据到Excel,包含字段名,文件为真正的Excel文件,如果文件不存在,将自动创建文件,如果表不存在,将自动创建表基于通用性考虑,仅支持导出标准数据类型--邹建2003.10--*//*--调用示例p_exporttb @tbname='地区资料',@path='c:',@fname='aa.xls'--*/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]GOcreate proc p_exporttb@tbname sysname, --要导出的表名@path nvarchar(1000), --文件存放目录@fname nvarchar(250)='' --文件名,默认为表名asdeclare @err int,@src nvarchar(255),@desc nvarchar(255),@out intdeclare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(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+@fnameinsert into #tb exec master..xp_fileexist @sql--数据库创建语句set @sql=@path+@fnameif exists(select 1 from #tb where a=1)set @constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=FALSE' +';CREATE_DB=" +';DATABASE='+@sql+'"'--连接数据库exec @err=sp_oacreate 'adodb.connection',@obj outif @err<>0 goto lberrexec @err=sp_oamethod @obj,'open',null,@constrif @err<>0 goto lberr/*--如果覆盖已经存在的表,就加上下面的语句--创建之前先删除表/如果存在的话select @sql='drop table ['+@tbname+']'exec @err=sp_oamethod @obj,'execute',@out out,@sql--*/--创建表的SQLselect @sql='',@fdlist=''select @fdlist=@fdlist+',['++']',@sql=@sql+',['++'] '+case when in('char','nchar','varchar','nvarchar') then'text('+cast(case when a.length>255 then 255 else a.length end as varchar)+')' when in('tynyint','int','bigint','tinyint') then 'int'when in('smalldatetime','datetime') then 'datetime'when in('money','smallmoney') then 'money'else endFROM syscolumns a left join systypes b on a.xtype=b.xusertypewhere notin('image','text','uniqueidentifier','sql_variant','ntext','varbinary','binary','timestamp') and object_id(@tbname)=idselect @sql='create table ['+@tbname+']('+substring(@sql,2,8000)+')',@fdlist=substring(@fdlist,2,8000)exec @err=sp_oamethod @obj,'execute',@out out,@sqlif @err<>0 goto lberrexec @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 '+@tbname)returnlberr:exec sp_oageterrorinfo 0,@src out,@desc outlbexit:select cast(@err as varbinary(4)) as 错误号,@src as 错误源,@desc as 错误描述select @sql,@constr,@fdlistgo--上面是导表的,下面是导查询语句的./*--数据导出EXCEL导出查询中的数据到Excel,包含字段名,文件为真正的Excel文件,如果文件不存在,将自动创建文件,如果表不存在,将自动创建表基于通用性考虑,仅支持导出标准数据类型--邹建2003.10--*//*--调用示例p_exporttb @sqlstr='select * from 地区资料',@path='c:',@fname='aa.xls',@sheetname='地区资料'--*/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]GOcreate proc p_exporttb@sqlstr varchar(8000), --查询语句,如果查询语句中使用了order by ,请加上top 100 percent @path nvarchar(1000), --文件存放目录@fname nvarchar(250), --文件名@sheetname varchar(250)='' --要创建的工作表名,默认为文件名asdeclare @err int,@src nvarchar(255),@desc nvarchar(255),@out intdeclare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(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+@fnameinsert into #tb exec master..xp_fileexist @sql--数据库创建语句set @sql=@path+@fnameif exists(select 1 from #tb where a=1)set @constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=FALSE' +';CREATE_DB=" +';DATABASE='+@sql+'"'--连接数据库exec @err=sp_oacreate 'adodb.connection',@obj outif @err<>0 goto lberrexec @err=sp_oamethod @obj,'open',null,@constrif @err<>0 goto lberr--创建表的SQLdeclare @tbname sysnameset @tbname='##tmp_'+convert(varchar(38),newid())set @sql='select * into ['+@tbname+'] from('+@sqlstr+') a'exec(@sql)select @sql='',@fdlist=''select @fdlist=@fdlist+',['++']',@sql=@sql+',['++'] '+case when in('char','nchar','varchar','nvarchar') then'text('+cast(case when a.length>255 then 255 else a.length end as varchar)+')' when in('tynyint','int','bigint','tinyint') then 'int'when in('smalldatetime','datetime') then 'datetime'when in('money','smallmoney') then 'money'else endFROM tempdb..syscolumns a left join tempdb..systypes b on a.xtype=b.xusertype where notin('image','text','uniqueidentifier','sql_variant','ntext','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,@sqlif @err<>0 goto lberrexec @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 ['+@tbname+']')set @sql='drop table ['+@tbname+']'exec(@sql)returnlberr:exec sp_oageterrorinfo 0,@src out,@desc out lbexit:select cast(@err as varbinary(4)) as 错误号,@src as 错误源,@desc as 错误描述select @sql,@constr,@fdlistgo。

相关文档
最新文档