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)は有効なファイルではないと言います。これらの2行を削除すると、すべてが正常になり、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 ディストリビューションにあります。ただし、PEAR のインストールで他の問題が発生した場合に備えて、フル zip インストールを使用することをお勧めします。

于 2012-12-23T10:34:34.660 に答える