【问题标题】:Sonata and export csv and xls奏鸣曲和导出 csv 和 xls
【发布时间】:2017-06-23 14:00:52
【问题描述】:

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

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

如果我使用 XLS 文件,我可以看到该文件,但 office 在打开之前会显示警报。

我的问题是:

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

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

谢谢

【问题讨论】:

    标签: csv export sonata


    【解决方案1】:

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

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

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

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

    以下是如何将 SonataExporterBundle 与 SonataAdminBundle 一起使用的指南:

    1. Installsonata-project/exporter 库通过 Composer(你可以省略 dev-master 部分)。
    2. Register Symfony 的 SonataExporterBundle(不管是在 SonataAdminBundle 之前还是之后)。
    3. 将此添加到config.yml
    sonata_exporter:
        writers:
            csv:
                delimiter: ";"
    
    1. 清除缓存:
    php bin/console cache:clear
    

    顺便说一下,你可以多调整一些配置。查看Configuration 类以获取更多选项。

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

    恐怕现在不可能。 SonataCoreBundle 和 SonataExporterBundle 导出器现在都只有 CSV、JSON、XLS 和 XML 编写器。您必须编写自己的 XLSX 导出功能或找到实现它的捆绑包(我还没有找到)。

    【讨论】:

      猜你喜欢
      • 2017-04-27
      • 2015-03-20
      • 2018-07-05
      • 2018-03-22
      • 2019-05-17
      • 2013-12-04
      • 2017-09-17
      • 2016-08-28
      • 2017-08-09
      相关资源
      最近更新 更多