如何使用symfony2读取Excel文件?

时间:2016-03-14 10:49:49

标签: symfony phpexcel

我在Excelbundle库中安装了PhpExcel。我想读取我发现这个功能的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();
                    }
                }
        }
    }
}

2 个答案:

答案 0 :(得分:5)

我的建议是"阅读文档"并开始攻击它。根据我的经验,使用excel是非常复杂和耗时的,所以不要期望其他人在线解决您的问题。

好像你正在谈论这个包: https://github.com/liuggio/ExcelBundle

它有很好的文档,甚至是完整的例子(参见"假控制器")。

答案 1 :(得分:0)

使用PHPExcel,可以很容易地阅读Excel文档。

参见我的例子:

$dir       = $this->getContainer()->getParameter("kernel.root_dir") . "/../../data/import/";
$file_name = "my_excel_file.xlsx";
$excel = $this->getContainer()->get('phpexcel')->createPHPExcelObject($dir . DIRECTORY_SEPARATOR . $file_name);
$sheet = $excel->getActiveSheet();

$row = 0;
 while ($sheet->getCellByColumnAndRow(1, $row)->getValue()) {

    $data = $sheet->getCellByColumnAndRow(2, $row)->getValue(); // get value from nth line and 2nf column

    //do stuff -- see doc for functions on $sheet

 }