如何用sql语句将 Execl数据 导入数据库

时间:2021-05-28 06:35:08
我一点头绪也没有,不知道如何下手了,请哪位指教下,我好摸索摸索!急!

13 个解决方案

#1


insert 数据库表
Select * 
From 
OpenRowSet('MICROSOFT.JET.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=2;DataBase=d:\test.xls',[sheet1$])

#2


将Excel的数据导入SQL server :
-- ======================================================
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
实例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------------------------------------------

#3


insert 数据库表
Select * 
From 
OpenRowSet('MICROSOFT.JET.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=2;DataBase=d:\test.xls',[sheet1$])


Excel导入到SQL 

比如Excel有两列,A列和B列需要导入到SQL表中,反正我已经有几年不用DTS之类的工具了。 

在Excel中的新的一列中,直接写公式=CONCATENATE("Insert #tmpvalues('",A1,"','",B1,"')") 

把每一行都设成同样的公式(双击即可完成)。 
把整列复制下来,放到查询分析器中直接运行就好了。


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

#4


 /******* 导出到excel  
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'  

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

#5


引用 1 楼 sgtzzc 的回复:
SQL codeinsert 数据库表Select*FromOpenRowSet('MICROSOFT.JET.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=2;DataBase=d:\test.xls',[sheet1$])

頂~~

#6


谢谢各位,我试试看

#7


消息 7314,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 不包含表 "1$"。该表不存在,或者当前用户没有访问该表的权限。

为什么报这个错啊!
insert into SYN_Volumes
Select * 
From 
OpenRowSet('MICROSOFT.JET.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=2;DataBase=E:\LT\上海体育馆\文书\(中心、场 )\2000年文书\2000年文书目录.xls',[1$])

路径错了吗

#8


顶!!!!!!!!!!!!

#9


引用 7 楼 hanakoko 的回复:
消息 7314,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 不包含表 "1$"。该表不存在,或者当前用户没有访问该表的权限。

为什么报这个错啊!
insert into SYN_Volumes
Select *
From
OpenRowSet('MICROSOFT.JET.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=2;DataBase=E:\LT\上海体育馆\文书\(中心、场 )\2000年文书\2000年文书目录.xls',[1$])

路径错了吗


路径不要搞这么复杂,不能包含空格,最好不要包含中文

#10



#11


路径对了,不过我的列不匹配,怎么办啊,必须把Execl的表弄的和数据库的表匹配上吗??

#12


引用 11 楼 hanakoko 的回复:
路径对了,不过我的列不匹配,怎么办啊,必须把Execl的表弄的和数据库的表匹配上吗??


你可以分开做啊,列不匹配就再update

#13


有个软件叫xlstosql,在百度或者csdn中都可以搜到,很好用的!

#1


insert 数据库表
Select * 
From 
OpenRowSet('MICROSOFT.JET.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=2;DataBase=d:\test.xls',[sheet1$])

#2


将Excel的数据导入SQL server :
-- ======================================================
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
实例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
  'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------------------------------------------

#3


insert 数据库表
Select * 
From 
OpenRowSet('MICROSOFT.JET.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=2;DataBase=d:\test.xls',[sheet1$])


Excel导入到SQL 

比如Excel有两列,A列和B列需要导入到SQL表中,反正我已经有几年不用DTS之类的工具了。 

在Excel中的新的一列中,直接写公式=CONCATENATE("Insert #tmpvalues('",A1,"','",B1,"')") 

把每一行都设成同样的公式(双击即可完成)。 
把整列复制下来,放到查询分析器中直接运行就好了。


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

#4


 /******* 导出到excel  
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'  

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

#5


引用 1 楼 sgtzzc 的回复:
SQL codeinsert 数据库表Select*FromOpenRowSet('MICROSOFT.JET.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=2;DataBase=d:\test.xls',[sheet1$])

頂~~

#6


谢谢各位,我试试看

#7


消息 7314,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 不包含表 "1$"。该表不存在,或者当前用户没有访问该表的权限。

为什么报这个错啊!
insert into SYN_Volumes
Select * 
From 
OpenRowSet('MICROSOFT.JET.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=2;DataBase=E:\LT\上海体育馆\文书\(中心、场 )\2000年文书\2000年文书目录.xls',[1$])

路径错了吗

#8


顶!!!!!!!!!!!!

#9


引用 7 楼 hanakoko 的回复:
消息 7314,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 不包含表 "1$"。该表不存在,或者当前用户没有访问该表的权限。

为什么报这个错啊!
insert into SYN_Volumes
Select *
From
OpenRowSet('MICROSOFT.JET.OLEDB.4.0','EXCEL 8.0;HDR=YES;IMEX=2;DataBase=E:\LT\上海体育馆\文书\(中心、场 )\2000年文书\2000年文书目录.xls',[1$])

路径错了吗


路径不要搞这么复杂,不能包含空格,最好不要包含中文

#10



#11


路径对了,不过我的列不匹配,怎么办啊,必须把Execl的表弄的和数据库的表匹配上吗??

#12


引用 11 楼 hanakoko 的回复:
路径对了,不过我的列不匹配,怎么办啊,必须把Execl的表弄的和数据库的表匹配上吗??


你可以分开做啊,列不匹配就再update

#13


有个软件叫xlstosql,在百度或者csdn中都可以搜到,很好用的!