php – 如何使用symfony2 excelbundle从excel文件中检索数据?

对于学校项目,我必须从用户上传的Excel文件中收集数据.我正在使用Symfony2并安装了一个我在knpbundles上找到的包,名为ExcelBundle.我读到要从Excel文件中收集数据,我应该使用PHPExcel对象的createWriter方法.这就是我所做的,如下所示.

public function addContactsFromExcelAction(Request $request) {
    $uploadDir = '/var/www'.$request->getBasePath().'/uploads/';
    //die(var_dump($uploadDir));
    $file = $request->files->get('fichierExcel');
    $fileName = $file->getClientOriginalName();
    $fileSaved = $file->move($uploadDir,$fileName);
    $PHPExcelObject = $this->get('PHPexcel')->createPHPExcelObject($uploadDir.$fileName);
    $writer = $this->get('PHPexcel')->createWriter($PHPExcelObject,'Excel2007');

}

但问题是,实际上,我真的不知道如何使用编写器从我的Excel数据表的单元格中收集数据.

拜托,有谁可以帮我实现目标?

解决方法

你可以像这个例子一样迭代:

public function xlsAction()
{
    $filenames = "your-file-name";
    $PHPExcelObject = $this->get('PHPexcel')->createPHPExcelObject($filenames);

    foreach ($PHPExcelObject ->getWorksheetIterator() as $worksheet) {
        echo 'Worksheet - ',$worksheet->getTitle();
        foreach ($worksheet->getRowIterator() as $row) {
            echo '    Row number - ',$row->getRowIndex();
            $cellIterator = $row->getCellIterator();
            $cellIterator->setIterateOnlyExistingCells(false); // Loop all cells,even if it is not set
            foreach ($cellIterator as $cell) {
                if (!is_null($cell)) {
                    echo '        Cell - ',$cell->getCoordinate(),' - ',$cell->getCalculatedValue();
                }
            }
    }
    }
}

更多样品here

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...