gpt4 book ai didi

php - symfony 导出 html.twig 到 csv

转载 作者:行者123 更新时间:2023-12-01 19:33:47 25 4
gpt4 key购买 nike

我正在尝试将 Twig View 导出到 csv 中,但我被卡住了,有人可以帮我提供详细的解决方案吗?和平

/**
*
* @Route("/export", name="export_csv")
*/
public function exportAction() {

$entity = new Invite();
$form = $this->createForm(new ManifSearchType(), $entity);
$request = $this->get('request');

$em = $this->getDoctrine()->getManager();

$view = $this->render('PrifProtocoleBundle:Invite:index.html.twig', array(
'form' => $form->createView()));

$handle = fopen('php://memory', 'r+');
$header = array();

fputcsv($handle, $view);

rewind($handle);

$content = stream_get_contents($handle);
fclose($handle);

return new Response($content, 200, array(
'Content-Type' => 'application/force-download',
'Content-Disposition' => 'attachment; filename="export.csv"'
));
}

错误信息:

Warning: fputcsv() expects parameter 2 to be array, object given in C:\wamp\www\protocole\src\Prif\ProtocoleBundle\Controller\InviteController.php line 56 

最佳答案

事实是,您并不是要将 Twig 转换为 CSV 文件。您正在将 HTML 转换为 CSV 文件。现在看来这是一个奇怪的转变。

您应该做的是让您的 Twig 生成 CSV 内容。像这样:

$response = $this->render('PrifProtocoleBundle:Invite:export.csv.twig',array('data' => $data));
$response->headers->set('Content-Type', 'text/csv');
$response->headers->set('Content-Disposition', 'attachment; filename="export.csv"');
return $response;

并且您的 Twig 应该以 CSV 格式呈现。

关于php - symfony 导出 html.twig 到 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20664734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com