繁体   English   中英

在laravel中从Excel文件中读取单元格

[英]Read cells from Excel file in laravel

我在Laravel 5上使用Laravel Excel v2.1。*

https://github.com/Maatwebsite/Laravel-Excel

Route::get('/', function () {

    $rows = Excel::load('storage\\app\\demo.xlsx')->ignoreEmpty()->skip(1)->get();
  echo "<pre>";
        print_r($rows->toArray());
        echo "</pre>";
  });

如果我的excel文件有第一行作为标题然后值,那么它的工作正常。

在此输入图像描述

但我有excel文件,其中excel文件的第一行有合并的单元格。所以有任何选项来逐个单元格读取

但我的excel文件第一行有

在此输入图像描述

您必须以不同方式读取此文件,不能使用简单的导入方法。 您必须按每个坐标读取它,本机PHPExcel方法的示例:

http://docs.typo3.org/typo3cms/extensions/phpexcel_library/1.7.4/manual.html#_Toc237519900

也许这可以帮到你。 这来自Reiah Paul Sam所写的链接。 这是一个读取excel文件的所有单元格的循环。

$objReader = PHPExcel_IOFactory::createReader('Excel2007');
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load('storage\\app\\demo.xlsx');
$objWorksheet = $objPHPExcel->getActiveSheet();
echo '<table>' . "\n";
foreach ($objWorksheet->getRowIterator() as $row) {
    echo '<tr>' . "\n";

    $cellIterator = $row->getCellIterator();

    $cellIterator->setIterateOnlyExistingCells(false); // This loops all cells,
    // even if it is not set.
    // By default, only cells
    // that are set will be
    // iterated.
    foreach ($cellIterator as $cell) {

        echo '<td>' . $cell->getValue() . '</td>' . "\n";

    }

     echo '</tr>' . "\n";

}

echo '</table>' . "\n";

请注意,您可能需要在php.ini中启用zip扩展名

我希望这有帮助。 最好的祝福。

暂无
暂无

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

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