我正在尝试使用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>
答案 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)
解决了这个问题