您的位置:首页 > 编程语言 > PHP开发

使用win8.1 x64 office2010 php 使用 pdo_odbc 连接excel失败的问题

2013-07-25 15:06 706 查看
public function init($filePath){
$dbq = iconv('UTF-8',"GBK",BASEPATH.'../'.$filePath);
$dsn = "odbc:Driver={Microsoft Excel Driver (*.xls)};Dbq=".$dbq.";ReadOnly=0;";
try {
$this->pdo = new PDO($dsn, '', '',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
}catch (Exception $e){
$err = $e->getMessage ();
$dbh = "连接excel数据库失败:" . iconv('GBK', "UTF-8", $err );
exit($dbh);
}
}


在本机上无法使用,折磨了半天,最后修改了注册表后可以了。虽然简单,但还是记录一下

打开odbc管理器不存在Microsoft Excel Driver (*.xls),只有 Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb),将上面的修改也是可以运行的,但是在其他同事使用的是office2003,上面又是不行的。
所以修改注册表添加驱动如下
打开注册表regedit
打开[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI]
导出项 Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)




编辑导出的reg文件 Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb) 修改为 Microsoft Excel Driver (*.xls)
然后重新注册
还要在 下面的 ODBC Drivers 项里面新建字符串值
Microsoft Excel Driver (*.xls)
Installed




ok,完成,可以连接exccel了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: