远程读取Excel数据

pyepye2002 2005-11-30 11:42:32
在远程网站上有一个http://www.xx.com/aa.xls
我怎样用Asp读取上面的数据呢????

请给出源但码或发到我的邮箱
pyepye@sina.com.cn
...全文
252 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
pyepye2002 2005-12-01
  • 打赏
  • 举报
回复
明白,请继续讨论!!!
  • 打赏
  • 举报
回复
xmlhttp+adodb.stream 把这个保存在自己的机器里
pyepye2002 2005-12-01
  • 打赏
  • 举报
回复
有人能回答我吗
crore 2005-12-01
  • 打赏
  • 举报
回复
口气不小啊!哈哈!
建议先下载到程序服务器,在连接打开。
大概试想是这样。代码自己写了!
  • 打赏
  • 举报
回复
那是不可以的,可以从ADO或者是odbc或者是rdo dao等数据库连接的模型上分析一下的

是底层进行的连接寻找每一种数据库的接口的基础上,再进行的open interface的调用,如果你只是一个stream而不是一个对象模型的话就没有那些接口的

所以如果只是http协议的情况下,你只能把这个stream放到你本地才能连接,就如同mdb文件不能直接连是一样的,sql server因为有个外接的server,如果只调用本身的ldb文件一样是不可以的,因为没有通用接口

所以根据这个基本道理,可以用xmlhttp+stream进行下载,这样的好处是避免了手工操作

但是对于一个excel文件来说最好是不要用excel.application 对于脚本编程来说,因为解释型程序去调用的时候,似乎ms对这个考虑不是很周全,会出现很多难以预料的错误,以及技术支持都有很多的问题,而用ado的话,因为excel实际是olap而数据库是一维的,导致的问题是有可能你用的sql语句取不到所有的值

不过如果用脚本去实现excel导入确实是一种好方法,但是问题是你要经常要更新么?这个就要重新设置一种新的策略,也是比较麻烦的事情了

如果确实很重要的话,还是建议用xml达到一种比较通用的境界,用xml的方式,变化很多,这样很有利于延长性
pyepye2002 2005-12-01
  • 打赏
  • 举报
回复
xxu333(xp) DBPath = "DBQ=" & Server.MapPath( "aa.xls" ) 这个只能本地做的,现在我要远程得到xls文件 ,例如:http://www.xx.com/aa.xls

现在我已经找到一个方法,就是下载到本地...我已经试验成功了!哈哈!
不过大家还有没有其它办法呢? 例如:不用下载到本地,直接读取 网上的这个文件!!

思考题,,,很快就结题了....
xxu333 2005-12-01
  • 打赏
  • 举报
回复
'=====================ASP读取EXCEL注事项===========================
'i)将Excel97或Excel2000生成的XLS文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表
'ii)ADO假设Excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容
'iii)Excel中的行标题(即字段名)不能够包含数字. Excel的驱动在遇到这种问题时就会出错的。例如你的行标题名为“F1”
'iiii)如果你的Excel电子表格中某一列同时包含了文本和数字的话,那么Excel的ODBC驱动将不能够正常, 处理这一行的数据类型,你必须要保证该列的数据类型一致
'E-MAIL:Kaxue@Hotmail.com QQ:484110 HOMEPAGE:www.Flyday.net
'整理时间:Thursday, May 23, 2002 5:54 PM WIN2000SERVER+IIS5 测式通过
'===================================================================

Dim Conn,Driver,DBPath,Rs
' 建立Connection对象
Set Conn = Server.CreateObject("ADODB.Connection"
Driver = "Driver={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=" & Server.MapPath( "aa.xls" )
'调用Open 方法打开数据库
Conn.Open Driver & DBPath

'DSN连接方式
'Conn.Open "Dsn=test"
'注意 表名一定要以下边这种格试 "[表名$]" 书写
Sql="Select * From [Sheet1$] where 序号=0"
Set Rs=Conn.Execute(Sql)

IF Rs.Eof And Rs.Bof Then
Response.write "没有找到您需要的数据!!"
Else

Do While Not Rs.EOF

Response.write Rs("姓名")

Rs.MoveNext
Loop
End IF

Rs.Close
Set Rs=nothing
Conn.Close
Set Conn=Nothing
'Response.Write "成功!"
pyepye2002 2005-12-01
  • 打赏
  • 举报
回复
能否详细一下啊
  • 打赏
  • 举报
回复
excel.application or ado
lsgis2001 2005-12-01
  • 打赏
  • 举报
回复
说白了就是一个下载程序吧。
最简单的方法,你直接链接文件就可以。

28,406

社区成员

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

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