从Symfony中的现有渲染视图创建Excel文件

时间:2018-02-21 12:19:35

标签: excel symfony twig

我有一个控制器,可以呈现一个模板文件(twig),其中包含一些表格和表格响应。

我需要将表格响应导出到Excel文件。 有没有办法使用Symfony,jQuery或Javascript?

我想避免使用我需要重新创建对象的https://github.com/liuggio/ExcelBundle。 我已经创建了它们,因为它们用在树枝上。

1 个答案:

答案 0 :(得分:0)

您可以使用Twig创建HTML表格(不需要使用Twig),然后将输出保存为Excel文件(.xls)。您可以在<style>标记和内联样式中使用简单的CSS。例如:

<style>
  .last {
    color: red;
    text-align: center;
  }
</style>
<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Age</th>
      <th style="font-style: italic">Country</th>
    </tr>
  </thead>
  <tbody>
    {% for row in data %}
      <tr>
        <td>row.name</td>
        <td>row.age</td>
        <td>row.country</td>
      </tr>
    {% endfor %}
    <tr class="last">
      <td colspan="3">This last row is red</td>
    </tr>
  </tbody>
</table>

在Excel中打开文件时,您可能会收到一条消息:

  

您尝试打开file.xls的文件格式与文件扩展名指定的格式不同。在打开文件之前,请验证文件是否已损坏且是否来自受信任的源。你想现在打开文件吗?

可能有一种解决方法,但我不确定。

这种方法很简单,并没有使用任何依赖关系,因此如果您不需要非常复杂的Excel文件,它可能已经足够了。

有许多资源可以提供更多相关信息。例如,请参阅:How can I export tables to excel from a webpage