PHPExcel抛出错误,语言环境?不使用区域设置

时间:2012-12-23 01:46:15

标签: phpexcel

我正在尝试使用PHPExcel,即使是最基本的东西也会出错,甚至是从某个地方复制的脚本(http://blog.clock.co.uk/phpexcel-example/)。

<br />
<b>Warning</b>:  Invalid argument supplied for foreach() in <b>/home/.../public_html/pear/PEAR/PHPExcel/PHPExcel/Calculation.php</b> on line <b>1685</b><br />

输出的文件将此作为文件的顶部,Excel(或Open Office)所说的文件不是有效文件。如果我删除这两行,一切都很好,Excel(或OO)可以打开它没有任何问题,脚本所做的一切都在那里。

Calculation.php第1685行:

foreach (glob($localeFileDirectory.'/*',GLOB_ONLYDIR) as $filename) {

它所处的功能:

private function __construct() {
$localeFileDirectory = PHPEXCEL_ROOT.'PHPExcel/locale/';
foreach (glob($localeFileDirectory.'/*',GLOB_ONLYDIR) as $filename) {
    $filename = substr($filename,strlen($localeFileDirectory)+1);
    if ($filename != 'en') {
        self::$_validLocaleLanguages[] = $filename;
    }
}

$setPrecision = (PHP_INT_SIZE == 4) ? 12 : 16;
$this->_savedPrecision = ini_get('precision');
if ($this->_savedPrecision < $setPrecision) {
    ini_set('precision',$setPrecision);
}
}   //  function __construct()

我通过PEAR安装了PHPExcel。

我没有在PHPExcel设置中的任何地方看到“locale”目录,所以我尝试创建它但仍然遇到同样的问题。

我没有设置或使用区域设置功能。<​​/ p>

2 个答案:

答案 0 :(得分:1)

然后在PHPExcel的PEAR安装中出现问题,我需要调查。

您可以在github(https://github.com/PHPOffice/PHPExcel/tree/master/Classes)或标准zip发行版中找到源存储库中的语言环境目录和文件;但如果PEAR安装存在任何其他问题,最好使用完整的zip安装

答案 1 :(得分:0)

我在PHP 5.3 + PHPExcelv1.7.6(2011-02-27)中遇到了这个问题。 我通过更新到 PHPExcel v1.8.0(2014-03-02)

解决了这个问题