使用PHP将XSL文件渲染为HTML

时间:2015-03-24 11:18:17

标签: php symfony twig phpexcel

我需要读取一个excel(xls)文件并将其呈现为HTML页面。

我正在使用Symfony 2.6.5开发PHP,我希望能够访问excel cel数据,这样我就可以在Symfony控制器中生成HTML(或者更好地在模板中生成)。

我正在使用ExcelBundle并且我已经阅读了文档,但我找到了设置信息的方法而不是获取信息。

我们最好阅读excel的内容吗?

PS:excel是表格形式的价目表,如下所示:

+––––+––––––+–––––––––––––+–––––––+
| id | name | description | price |
|____|______|_____________|_______|
+––––+––––––+–––––––––––––+–––––––+
| 1  | foo  | foo desc    | 12€   |
+––––+––––––+–––––––––––––+–––––––+
| 2  | bar  | abr desc    | 65€   |
+––––+––––––+–––––––––––––+–––––––+
|... |...   | ...         | ...   |

1 个答案:

答案 0 :(得分:2)

根据code source,只需在createPHPExcelObject方法中传递文件名即可。 例如:

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();
                }
            }
    }
    }
}

只需将数组传递到视图即可在模板中进行渲染。

希望这个帮助