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

标签 php symfony bundle phpexcel

对于学校项目,我必须从用户上传的 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');

}

但事实上,我真的不知道如何使用 writer 从我的 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();
                }
            }
    }
    }
}

更多 sample here

关于php - 如何使用 symfony2 excelbundle 从 excel 文件中检索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29364252/

相关文章:

php - 无法返回某些变量作为对 jquery 调用的响应

PHP变量进入mySQL表: not working?

php - Doctrine 中的日期格式

react-native - 尝试创建发布包时无法解析模块 'AccessibilityInfo'

php - 从 php 7.4.11 升级到 7.4.13

php - 从php中的字符串中删除特殊符号

Symfony UniqueEntity 异常

php - Symfony 2/PHP 比较数组中对象的差异?

java - 组件提供服务

android - 来自 getExtras() 的 NullPointerException