在Laravel 4.2 Excel中获取动态列的值

时间:2016-11-11 07:13:30

标签: php laravel maatwebsite-excel

我导入了一个csv文件,并使用Laravel 4.2中的Maatwebsite Excel读取该文件 如果我知道列名,我可以通过执行以下操作来获取行值:

Excel::load($file->getRealPath(), function($reader)) { $data = $reader->get(); foreach ($data as $key => $row) { echo $row->I_know_this; });

但是如果csv文件包含动态列并且你不知道它们是什么呢?

1 个答案:

答案 0 :(得分:0)

试试这个。

$ excel = [];

        Excel::load($destinationPath . $filename, function($reader) use (&$excel) {
            $objExcel = $reader->getExcel();
            $sheet = $objExcel->getSheet(0);
            $highestRow = $sheet->getHighestRow();
            $highestColumn = $sheet->getHighestColumn();

            //  Loop through each row of the worksheet in turn
            for ($row = 1; $row <= $highestRow; $row++)
            {
                //  Read a row of data into an array
                $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row,
                    NULL, TRUE, FALSE);

                $excel[] = $rowData[0];
            }
        });