1

我正在尝试使用 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 设置中的任何地方都没有看到“语言环境”目录,所以我尝试创建它,但仍然遇到同样的问题。

我没有设置或使用语言环境功能。

4

2 回答 2

1

这样看来,PHPExcel 的 PEAR 安装存在问题,我需要对此进行调查。

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

于 2012-12-23T10:34:34.660 回答
0

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

于 2016-02-28T11:40:37.860 回答