PHP:为什么我的PHPExcel_cell设置一个空列作为HighestColumn?

我试图从已经use PHPExcel_Cell;上传的Excel文件中读取数据use PHPExcel_Cell; 。 在我的Excel中,数据实际写在列A中,直到Y (25列),但是我的系统得到最高的列是AMK 。 所以系统给出一个错误,因为从ZAMK的每一列都不包含数据。

这是我用来阅读最高列的代码:

 $colNumber = PHPExcel_Cell::columnIndexFromString($highestColumn); echo $colNumber; 

以下是结果

AMK

你可以在这里看到,Excel文件只包含Y列的数据 在这里输入图像说明

为什么我的PHPEXCEL_cell不能避免空列,并将包含数据的最后一列设置为最高列?

谢谢

取决于您的$highestColumn价值来自哪里。 PHPExcel中内置了两个用于报告最高列的函数,并且不提及您使用的是哪一个(如果有的话)。

第一个是getHighestColumn() ,它使用已读取的文件中存储的最高列值。 请注意,这适用,因为列被加载文件中的某处引用,不一定是因为它是一个包含数据的单元格,但可以在页面设置或样式等引用。它也是一个静态值:一旦读取,即使向工作表添加多余的单元格,它也不会更改。

第二种方法是getHighestDataColumn() ,它实际上查看工作表中的每个单元格,并返回单元格所在的最高列。 由于此方法在调用时执行检查,所以在性能方面的成本很高,但这是准确的,并且会在向工作表添加新单元格时发生变化。

注意(这适用于getHighestColumn()getHighestDataColumn()方法),一个空string''或空值是单元格的完全有效值; 所以即使它不包含任何可显示的值,单元格也可以存在。