我有点困惑PHPExcel的行为与我有一些文件.这些文件包含约.3000行数据,但根据PHPExcel,使用的最后一行是65535.我尝试从文件中删除几行并将它们粘贴到一个新文件中,但无济于事.无论是Excel5还是Excel2007格式,总是相同的结果.
有什么想法在这里找到错误?
码:
$cr=$xls->getActiveSheet()->getHighestRow();
$cn=PHPExcel_Cell::columnIndexFromString($xls->getActiveSheet()->getHighestColum??n());
for ($z=2; $z<=$cr; $z++) {
$class=($z%2)?"odd":"even";
?>
<tr class="<?php echo $class; ?>">
<?php for ($s=0; $s<$cn; $s++) {
$tmp=$xls->getActiveSheet()->getCellByColumnAndRow($s,$z)->getValue();?>
<td><?php echo $tmp; ?></td>
<?php } ?> </tr>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)
所需要的只是一个空白单元格,最后一个col/row可能比你预期的要高很多.即使是打印布局或样式也可能伪造存储的最高值.在MS Excel中打开文件并按Ctrl-End,它将带您到Excel识别的最后一个单元格.
除了getHighestRow()和getHighestColum()之外,还有一个(较慢的)getHighestDataRow()和getHighestDataColumn()方法,用于标识实际包含单元格数据的最高行和列.
小智 -1
这没有错误。“空”电子表格仍然包含大量空单元格。Excel 通常有 65536 行和 256 列。
| 归档时间: |
|
| 查看次数: |
6341 次 |
| 最近记录: |