我的代码与file.xlsx
完美配合,但我无法使用旧file.xls
。我尝试了所有找到的代码,没有任何作用......我尝试将Excel2007
的版本更改为2003,2004,但没有...不知道还有什么可以尝试。
这是我当前的代码(使用file.xlsx
,但我也需要使用file.xls
)。
<?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";
}
?>
答案 0 :(得分:1)
xls文件的Reader是Excel5
Reader。
但你真的应该简单地使用IOFactory的load()方法,让PHPExcel为自己识别文件类型并选择正确的阅读器,因为有很多文件(特别是那些从互联网上下载的文件) .xls
扩展名不是真正的BIFF格式文件.... PHPExcel可以在使用load()
方法时正确识别和加载这些文件,因为它可以为自己选择正确的Reader。
但是当你自己指定一个诸如Excel2007
或Excel5
之类的阅读器时,你就告诉PHPExcel它必须使用哪个阅读器,即使它可能不是实际文件的正确阅读器
Document link,按名称列出所有不同的读者