在asp.net中如何将excel导入sql2005

wuhx108 2008-12-12 09:31:33
在asp.net中如何将excel导入sql2005
写了一个下面的语句:
string sqlstr = "insert into db_StuInfo (S_num,S_name) select S_num, S_name from OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;HDR=NO;IMEX=1;DATABASE=D:\\test.xls',sheet1$)";
执行的时候总是说S_num和S_name无效这是为什么,请忙指点一下吧! 我的excel中建表是按数据库结构建的,列名也和数据库中是一样的
...全文
145 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengxj85 2008-12-13
  • 打赏
  • 举报
回复
刚从SQL板块拷 爱新觉罗.毓华 的代码
-------------

FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是个查询的示例,它通过用于 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
-------------------------------------------------------------------------------------------------

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、将SQL SERVER中查询到的数据导成一个Excel文件
-- ======================================================
T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中应用ADO导出EXCEL文件代码:
Dim cn As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:\DT.xls -c -Sservername -Usa -Ppassword'"
------------------------------------------------------------------------------------------------

4、在SQL SERVER里往Excel插入数据:
-- ======================================================
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)

T-SQL代码:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, produkt) VALUES (20, 'Test')
ChengKing 2008-12-13
  • 打赏
  • 举报
回复
生成/读取(反向更新数据库) Excel文件(示例代码下载):
http://blog.csdn.net/ChengKing/archive/2005/11/29/539514.aspx
Wayne 2008-12-13
  • 打赏
  • 举报
回复
不同的东西放在一起要出问题的。。不认识也正常。
建议楼主先读取出excel的数据,然后再插入到数据库。
wuhx108 2008-12-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lintf1986 的回复:]
既然提示S_num和S_name无效,那说明语法其他没问题了,
你用*代替S_name,S_num试试,看看查出来的表结构是什么
[/Quote]
用*代替可以插入到sql中,但s_num和s_name两个列名也被插入进去了,数据库有很多列名,我只想把excel中作好的这两列的数据插入进去!急呀!
lintf1986 2008-12-12
  • 打赏
  • 举报
回复
既然提示S_num和S_name无效,那说明语法其他没问题了,
你用*代替S_name,S_num试试,看看查出来的表结构是什么
wsxqaz 2008-12-12
  • 打赏
  • 举报
回复
excel和sql2005根本就是用了两个连接怎么可能写在一起

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧