如果我从数据库导出,我的excel软件包可以正常工作,但是我需要导出html,因为我在用户可以更改的表上有过滤器。
在我写的控制器中:
$objReader = PHPExcel_IOFactory::createReader("html");
$result = $objReader->load('AppBundle::report.html.twig');
$phpExcelObject = $this->get('phpexcel')->createPHPExcelObject();
但symfony说:无法打开AppBundle :: report.html.twig进行阅读!文件不存在。
有人知道这么热吗? 感谢
enter code here
答案 0 :(得分:1)
首先load
的$objReader
方法无法解析 twig-template的路径。只有本机Symfony组件/类才能实现。 PHPExcel
是第三方库,对symfony app结构一无所知。因此,您应该将完整路径传递给模板:
$objReader->load('/some/path/here/report.html.twig');
第二个(正如@Malcolm提到的) - twig-file只是一个模板。它充满了一些逻辑和传递给它的数据会产生一些结果。你真的认为你可以从模板加载一些数据吗?如果要基于用户过滤器生成xls文件 - 您应该将用户过滤器传递给服务器,根据过滤器选择数据并在此数据上生成xls文件。这是正确的方式。