excel 列数大于Z时如何使用PHP程序读取

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel 列数大于Z时如何使用PHP程序读取相关的知识,希望对你有一定的参考价值。

最近深圳网站建设搜客来在处理一个项目,需要读取EXCEL数据并导入数据库中。因为EXCEL表格数据列数超过了Z,使用传统方式无能读取。今天特地和大家分享最后的解决方案,代码如下:

本方法使用的是phpExcel插件,请自行下载。

public static function import_excel($file){

    // 判断文件是什么格式

    $type = pathinfo($file);

    $type = strtolower($type["extension"]);

    $type=$type===‘csv‘ ? $type : ‘Excel5‘;

    ini_set(‘max_execution_time‘, ‘0‘);

    Vendor(‘PHPExcel.PHPExcel‘);

    // 判断使用哪种格式

    $objReader = PHPExcel_IOFactory::createReader($type);

    $objPHPExcel = $objReader->load($file);

    $sheet = $objPHPExcel->getSheet(0);

    // 取得总行数

    $highestRow = $sheet->getHighestRow();

    // 取得总列数,这里是关键两行

    $highestColumn = $sheet->getHighestColumn();

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

    //循环读取excel文件,读取一条,插入一条

    $data=array();

    //从第一行开始读取数据

    for($j=1;$j<=$highestRow;$j++){

        //从A列读取数据

        for($k=0;$k<=$highestColumn;$k++){

            // 读取单元格

            //$data[$j][]=$objPHPExcel->getActiveSheet()->getCell($k,$j)->getValue();

            $data[$j][]=$sheet->getCellByColumnAndRow($k,$j)->getValue();

        }

    }

    return $data;

}

以上是关于excel 列数大于Z时如何使用PHP程序读取的主要内容,如果未能解决你的问题,请参考以下文章

EXCEL如何用宏表示列数的递增。VAB

java poi 如何获取获得excel的总的行数和列数?

vba如何读取excel中某单元格的行数或列数

VB 如何读取 Excel 所有列和行

EXCEL中怎么判断一个数是不是存在在一列数中

在使用 c# 从 excel 中读取大于 12 位的数字时,数字被转换为零