繁体   English   中英

PHPExcel函数getHighestRow()不适用于.xls,但适用于.xlsx

[英]PHPExcel function getHighestRow() is NOT working for .xls but working for .xlsx

我正在使用PHPExcel根据当前行数读取其内容。

为了找到行数,我正在使用以下功能。

$objSheet->getHighestRow();

.xlsx文件工作正常。

但它不是以.xls工作。

致命错误:在非对象上调用成员函数getHighestRow()

那么我如何才能获得Excel的行数呢?

PHP代码:

    set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/');
    /** PHPExcel_IOFactory */
    include 'www/PHPExcelReader/Classes/PHPExcel/IOFactory.php';
    include 'www/PHPExcelReader/Classes/PHPExcel/Classes/PHPExcel.php';
    try {
        $cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_sqlite3;
        PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);
        $objReader = new PHPExcel_Reader_Excel2007();
        $objReader->setReadDataOnly(true);
        $objReader->setLoadSheetsOnly( array("Sheet1") );
        $objPHPExcel = $objReader->load($inputFileName);
        $objSheet = $objPHPExcel->getActiveSheet();
        $no_of_rows=$objSheet->getHighestRow();
        //echo "no_of_rows=$no_of_rows";

我希望同时支持xls和.xlsx ...请指导我。

我自己解决了这个问题。 这是由于excel版本不兼容。

这是解决此问题的代码。

/**  Identify the type of $inputFileName  **/
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
/**  Create a new Reader of the type that has been identified  **/
$objReader = PHPExcel_IOFactory::createReader($inputFileType);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM