ASP使用Excel时找不到可安装的ISAM,问题分析之一二
大家在开发ASP或者PHP程序时,有时候需要把excel数据导入程序开发时需要的数据库里面,所以就需要连接excel数据打开,导入数据。
以下我以ASP开发为例,把excel数据导入access数据库里面。当调用Excel或者直接使用Excel时,系统会提示“找不到可安装的ISAM”,这时我们该怎么办呢?来我给您分析下原因:
1.您的系统没有相应的数据库连接驱动或者驱动没有被启用。重新注册下。
这样问题注册一下Excel ISAM,这样就即可解决问题。
具体得操作步骤:在“运行”对话框中输入以下内容:Regsvr32 c:\WINDOWS\system32\msexcl40.dll 然后回车去定,在导入的时候就不会出现"找不到可安装的ISAM"这样子的提示。
2.如果这个问题还在,那就是你连接excel文件驱动代码问题了。可能写有问题,也可能区分文件错误。大家都知道,早期的excel文件后缀格式为.xls,但是新版本的excel文件后缀格式为.xlsx,格式不同,连接代码肯定是不同的。假如用同一种连接代码,不出错才怪。
说了这么多,不给解决办法不够厚道,解决办法:
先获取excel文件后缀名,
ASP版获取断函数
text为文件名称带后缀名
Function getExtn(text)
text =mid(text,InStrRev(text, ".")+1)
getExtn = text
End Function
然后判断名称,不同名称给予不同连接代码:
filetype为获取的后缀,s_path为excel数据库文件路径
if filetype="xls" then
myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(s_path)&";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'"
elseif filetype="xlsx" then
myConn_Xsl="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="&Server.MapPath(s_path)&"; Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1'"
end if
现在问题解决了,希望本文章能够帮到您!区别主要是前部分Jet.OLEDB.4.0与ACE.OLEDB.12.0,后部分Excel 8.0与Excel 12.0 Xml区别。遇到问题多用百度查询,总会找到解决办法的。后面HDR=YES就是不读取excel第一排标注名称数据。
XYCMS,专注程序研究与开发,需要网站模板的可以点击看看 http://xycms.taobao.com