100分求助!关于ASP连接EXCEL的问题!

joezhan 2006-05-10 11:09:43
各位高手,我做一个小应用的时候发现一个问题!
1、将Excel数据导入数据库
2、将数据库中的数据导出为Excel文件
3、再次将导出的Excel文件导入数据库,出错,根本不能连接!
提示信息如下:
---------------------------------------------------------------------------
Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Excel Driver]常见错误 不能打开注册表关键字 'Temporary (volatile) Jet DSN for process 0x904 Thread 0xa48 DBC 0x208f024 Excel'。

/cjcx/test.asp,行3
--------------------------------------------------------------------------

第三行是连接文件,肯定没问题,因为连接普通的Eecel文件没问题,但是连接我导出的Excel文件就提示上面这个错误!

希望高手帮忙解决,谢谢!
...全文
240 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
班门弄斧 2006-05-18
  • 打赏
  • 举报
回复
只需要在头部加上一句代码就行了:<%response.ContentType="application/vnd.ms-excel"%>
阳明腾越 2006-05-18
  • 打赏
  • 举报
回复
能不能“将数据库中的数据导出为Excel文件”的代码贴出来给小弟学习下?
我怎么都整不出来。
deninghe 2006-05-13
  • 打赏
  • 举报
回复
MARK 收藏了
sunyanqing 2006-05-13
  • 打赏
  • 举报
回复
MARK 收藏了
浙外 2006-05-13
  • 打赏
  • 举报
回复
晕。那你还告诉我说用EXCEL打开无异常。55555。伤心死了……
joezhan 2006-05-10
  • 打赏
  • 举报
回复
我现在发现问题的原因了,是导出的Excel文件有问题!
用的set myfile = fs.CreateTextFile(filename,true)
这种方式导出的Excel文件,好象其实就是换了名的文本文件,所以没办法导回去了!
请问大家有什么好办法导出Excel文件吗?
sunshift 2006-05-10
  • 打赏
  • 举报
回复
xlsFiles = Server.MapPath(FileName)
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Provider = "Microsoft.Jet.OLEDB.4.0 "
oConn.ConnectionString = "Data Source=" & xlsFiles & ";Extended Properties=Excel 8.0;"
oConn.Open
'读取数据.
SET rs=Server.CreateObject("ADODB.Recordset")
strSQL = "select * from [upxls$]"
rs.Open strSQL,oConn,1,1
chen_r2005 2006-05-10
  • 打赏
  • 举报
回复
把这两个读懂了就会了
chen_r2005 2006-05-10
  • 打赏
  • 举报
回复
<%@language=vbscript %>
<h3>读取Excel文件实例</h3>
<hr>
<%

Set xlApp = server.CreateObject("Excel.Application")

'strsource = "c:\excelexample.xls"
strsource=Application("ASP_Directory")&"Chapter05/database/excelexample.xls"

Set xlbook = xlApp.Workbooks.Open(strsource)
Set xlsheet = xlbook.Worksheets(1)

i=1
response.write "<table cellpadding=0 cellspacing=0 border=1 width=250>"
while xlsheet.cells(i,1)<>""

response.write "<tr>"
response.write " <td height=20 align=center width=50>" & xlsheet.Cells(i, 1) & "</td>"
response.write " <td height=20 align=center width=100>" & xlsheet.Cells(i, 2) & "</td>"
response.write " <td height=20 align=center width=100>" & xlsheet.Cells(i, 3) & "</td>"
response.write "</tr>"
i=i+1

wend
response.write "</table>"
set xlsheet=nothing
set xlbook=nothing
xlApp.quit
'千万记住要加这一句,否则每运行一次你的机器里就增加一个excel进程,而且无法释放。我试过"set xlApp=nothing"是不行的。
%>
chen_r2005 2006-05-10
  • 打赏
  • 举报
回复
<h3>Excel文件导入到SQL Server数据库中</h3>
<hr>
<%
sub dataIntoSqlServer_ceritificate(strFileName,strSheetName,myConn)
'定义
dim myConnection
dim strName
dim rsXsl,rsSql
dim str_Xsl,str_Sql
dim myConn_Xsl
dim cmd
dim i,j
dim maxId

strName=strFileName
set myConnection=server.createobject("adodb.connection")
set rsXsl=Server.Createobject("ADODB.Recordset")
set rsSql=Server.CreateObject("ADODB.Recordset")
set cmd=Server.CreateObject("ADODB.Command")
cmd.ActiveConnection=myConn

'myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName& ";Extended Properties=Excel 8.0"

myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application("ASP_Directory") & "chapter05\database\" & strName & ";Extended Properties=Excel 8.0"
'打开连接
myconnection.open myConn_Xsl

'打开表
str_Xsl="select * from ["& strSheetName &"$]"
rsXsl.open str_Xsl,myconnection,1,1
j=1
Do While not rsXsl.eof
'取出最大值
str_Sql="select Max(id) as maxId from exceltosql"
rsSql.open str_Sql,myConn,1,3
If Not rsSql.Eof Then
If not isNull(rsSql("maxId")) Then
maxId=Clng(rsSql("maxId"))+1
Else
maxId=1
End if
else
maxId=1
End if
rsSql.close'//关闭对象
'加入数据库
str_Sql=" insert into exceltosql values("&maxId&",'"&rsXsl(1)&"','"&rsXsl(2)&"')"
cmd.CommandText=str_Sql
cmd.Execute()
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
j=j+1
rsXsl.movenext
Loop

response.write "共导入<font color='red'>" & j-1 & "</font>条记录.<br>"
response.write "<a href=# onclick='self.close();'>关闭窗口</a>"
set rsXsl=nothing
set rsSql=nothing
set myconnection=nothing
set cmd=nothing
end sub

file1="excelexample.xls"
myconn=Application("ASP_Chapter05_Con1")'"DRIVER={SQL SERVER};SERVER=(local);uid=sa;pwd=sa;DATABASE=aspbook"
dataIntoSqlServer_ceritificate file1,"sheet1",myconn
%>
joezhan 2006-05-10
  • 打赏
  • 举报
回复
包含文件可能没有问题,是你那个程序有问题吧。看看第一个错误。

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

根本没有包含文件,就报了一个错误,你看错了吧
yyfsk 2006-05-10
  • 打赏
  • 举报
回复
baidu一下
阳明腾越 2006-05-10
  • 打赏
  • 举报
回复
怎么把从sqlserver中查询出来的数据导出excel中?
我正发愁,那位高手指点下。
最好有完整的代码,本人理解能力有限。
先以为谢!
yyfsk 2006-05-10
  • 打赏
  • 举报
回复
包含文件可能没有问题,是你那个程序有问题吧。看看第一个错误。
joezhan 2006-05-10
  • 打赏
  • 举报
回复
用EXCEL打开没有异常!
浙外 2006-05-10
  • 打赏
  • 举报
回复
那你导出的EXCEL文件用EXCEL打开有没有什么异常呢

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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