奏鸣曲并导出csv和xls

时间:2017-02-06 15:07:49

标签: csv export sonata

我在奏鸣曲中导出列表时遇到问题:

如果我使用office 2016构建CSV文件,我会看到一个错误的表格(因为分隔符是" ,")

如果我使用XLS文件,我可以看到该文件,但办公室在打开前显示警告。

我的问题是:

  1. 是否可以更改CSV的分隔符?
  2. 是否可以从同一菜单导出XLSX文件? (图片中)
  3. enter image description here

    我找到了一个链接,但我不明白使用 https://github.com/sonata-project/SonataAdminBundle/issues/2707

    谢谢

1 个答案:

答案 0 :(得分:0)

我假设您使用的是SonataAdminBundle 3.x。:

  

是否可以更改CSV的分隔符?

是的,虽然您必须进行一些更新,但这是可能的。 Exporter是SonataCoreBundle的类,但它已被弃用(参见Exporter source)。出于导出目的,您应该使用SonataExporterBundle中的单独Exporter类。

此外,我必须提到默认的SonataCoreBundle导出器具有硬编码的CSV分隔符(请参阅code)。

以下是SonataAdminBundle使用SonataExporterBundle的指南:

    通过Composer
  1. Install sonata-project / exporter库(您可以省略dev-master部分)。
  2. Register使用Symfony的SonataExporterBundle(如果它在SonataAdminBundle之前或之后,它并不重要。)
  3. 将其添加到config.yml
  4. sonata_exporter:
        writers:
            csv:
                delimiter: ";"
    
    1. 清除缓存:
    2. php bin/console cache:clear
      

      顺便说一下,您可以调整配置。查看Configuration课程了解更多选项。

        

      是否可以从同一菜单导出XLSX文件? (图片中)

      我担心现在不可能。 SonataCoreBundle和SonataExporterBundle导出器现在只有CSV,JSON,XLS和XML编写器。您必须编写自己的XLSX导出功能或查找已实施的捆绑包(我还没找到)。