无法读取 php excel 2003 文件



我有这段代码,我用它来读取Excel 2007文件。

 <?php 
 function load_table(){
    require_once('Classes/PHPExcel.php');
    $objReader = PHPExcel_IOFactory::createReader('Excel2007');
    $objReader->setReadDataOnly(false);
    $objPHPExcel = $objReader->load("SampleData.xlsx");
    $objWorksheet = $objPHPExcel->getActiveSheet();
    $highestRow = $objWorksheet->getHighestRow(); // e.g. 10
    $highestColumn = $objWorksheet->getHighestColumn(); // e.g 'F'
    $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); // e.g. 5
    echo '<table class="table">' . "n";
    for ($row = 1; $row <= $highestRow; ++$row) {
      echo '<tr>' . "n";
      for ($col = 0; $col <= $highestColumnIndex; ++$col) {
        echo '<td>';
        $first =   $objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
        if($first[0] == '='){
            echo $objWorksheet->getCellByColumnAndRow($col, $row)->getCalculatedValue();
        }
        else
            echo $first;
        echo '</td>' . "n";
      }
      echo '</tr>' . "n";
    }
    echo '</table>' . "n"; 
}
?>  

但是我需要读取一个Excel 2003文件。当我更改代码时,我收到错误,说:

致命错误:在 中找不到类"PHPExcel_Reader_Excel2003" ...

更改代码:

$objReader = PHPExcel_IOFactory::createReader('Excel2003');

我认为你应该使用

 PHPExcel_IOFactory::createReader('Excel5');

PHPExcel_IOFactory::createReader('Excel2003XML');

而不是

 PHPExcel_IOFactory::createReader('Excel2007');

这取决于您的 xls 文件。您可以在此处阅读更多详细信息 PHPExcel Docs。

$inputFileType = PHPExcel_IOFactory::identify($inputFile);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);

phpexcel确定文件类型。

最新更新