用于解析 XLS 文件的未定义类



我需要通过作曲家安装的SimpleXLS包类,但是当我尝试测试它时,我的SimpleXLSX看起来没有定义。

<?php
include './_inc/bootstrap.php';
require_once('./vendor/shuchkin/simplexls/src/SimpleXLS.php');
if ( $xlsx = SimpleXLSX::parse('book.xlsx') ) {
    print_r( $xlsx->rows() );
} else {
    echo SimpleXLSX::parseError();
}

更改,

if ( $xlsx = SimpleXLSX::parse('book.xlsx') ) {

if ( $xlsx = SimpleXLS::parse('book.xlsx') ) {

SimpleXLSX的任何引用更改为SimpleXLS,因为根据此,该类称为 SimpleXLS ,而不是 SimpleXLSX

注意:如果您包含其自动加载器,则作曲家将处理自动加载。

使用 Composer

时,通常不应在包中包含特定文件,而只应包含 Composer 生成的自动加载器:

require_once './vendor/autoload.php';

这只需要运行一次,所以可以在你现有的_inc/bootstrap.php文件中,你需要去一个目录,所以该行将是:

require_once '../vendor/autoload.php';

(请注意,require_once 是一个关键字,而不是一个函数,因此不需要括号,在复杂情况下添加它们可能会导致混淆。

正如 Script47 在单独的答案中指出的那样,您似乎也混淆了两个名称相似的包:

  • shuchkin/simplexls定义了用于读取旧格式.xls二进制文件的类SimpleXLS
  • shuchkin/simplexlsx定义了一个类SimpleXLSX,用于读取较新的.xlsx压缩的 XML 文件

最新更新