我需要阅读excel数据。所以我使用了phpExcelReader。它工作得很好,但不幸的是它没有在64位架构中读取负值。
在32位架构中,读取负值时没有任何问题。我不知道如何解决这个问题?任何帮助将不胜感激。谢谢!
网络服务器有64位处理器和php版本5.3.4,它在Linux平台上运行
答案 0 :(得分:1)
请检查此问题的以下链接。可能这就是你要找的东西, http://code.google.com/p/php-excel-reader/issues/detail?id=123也http://code.google.com/p/php-excel-reader/issues/detail?id=28
答案 1 :(得分:0)
让我再次澄清这个问题。找到OLERead类(在我的例子中是excel_reader2.php)并替换这两种方法的主体:
_GetInt4d()和GetInt4d()
使用此代码:
function GetInt4d($data, $pos) {
$value = ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | (ord($data[$pos+3]) << 24);
if ($value>=4294967294) {
$value=-2;
}
return $value;
}
现在该类支持32位和64位操作系统架构。我希望它现在清楚并有所帮助。