使用php从excel文件中读取负值

时间:2011-06-21 11:53:27

标签: php excel

我需要阅读excel数据。所以我使用了phpExcelReader。它工作得很好,但不幸的是它没有在64位架构中读取负值。

在32位架构中,读取负值时没有任何问题。我不知道如何解决这个问题?任何帮助将不胜感激。谢谢!

网络服务器有64位处理器和php版本5.3.4,它在Linux平台上运行

2 个答案:

答案 0 :(得分:1)

答案 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位操作系统架构。我希望它现在清楚并有所帮助。