PHP:为什么我的PHPExcel_cell设置一个空列作为HighestColumn?
我试图从已经use PHPExcel_Cell;
上传的Excel文件中读取数据use PHPExcel_Cell;
。 在我的Excel中,数据实际写在列A中,直到Y (25列),但是我的系统得到最高的列是AMK 。 所以系统给出一个错误,因为从Z到AMK的每一列都不包含数据。
这是我用来阅读最高列的代码:
$colNumber = PHPExcel_Cell::columnIndexFromString($highestColumn); echo $colNumber;
以下是结果
AMK
你可以在这里看到,Excel文件只包含Y列的数据
为什么我的PHPEXCEL_cell不能避免空列,并将包含数据的最后一列设置为最高列?
谢谢
取决于您的$highestColumn
价值来自哪里。 PHPExcel中内置了两个用于报告最高列的函数,并且不提及您使用的是哪一个(如果有的话)。
第一个是getHighestColumn()
,它使用已读取的文件中存储的最高列值。 请注意,这适用,因为列被加载文件中的某处引用,不一定是因为它是一个包含数据的单元格,但可以在页面设置或样式等引用。它也是一个静态值:一旦读取,即使向工作表添加多余的单元格,它也不会更改。
第二种方法是getHighestDataColumn()
,它实际上查看工作表中的每个单元格,并返回单元格所在的最高列。 由于此方法在调用时执行检查,所以在性能方面的成本很高,但这是准确的,并且会在向工作表添加新单元格时发生变化。
注意(这适用于getHighestColumn()
和getHighestDataColumn()
方法),一个空string''
或空值是单元格的完全有效值; 所以即使它不包含任何可显示的值,单元格也可以存在。