我假设您使用的是 SonataAdminBundle 3.x.:
是否可以更改 CSV 的分隔符?
是的,虽然您必须进行一些更新,但仍有可能。 Exporter 是 SonataCoreBundle 中的类,但已被弃用(请参阅Exporter source)。出于导出目的,您应该使用来自 SonataExporterBundle 的单独 Exporter 类。
我还必须提到,默认的 SonataCoreBundle 导出器具有硬编码的 CSV 分隔符(请参阅 code)。
以下是如何将 SonataExporterBundle 与 SonataAdminBundle 一起使用的指南:
-
Installsonata-project/exporter 库通过 Composer(你可以省略 dev-master 部分)。
-
Register Symfony 的 SonataExporterBundle(不管是在 SonataAdminBundle 之前还是之后)。
- 将此添加到
config.yml:
sonata_exporter:
writers:
csv:
delimiter: ";"
- 清除缓存:
php bin/console cache:clear
顺便说一下,你可以多调整一些配置。查看Configuration 类以获取更多选项。
是否可以从同一个菜单导出 XLSX 文件? (在图片中)
恐怕现在不可能。 SonataCoreBundle 和 SonataExporterBundle 导出器现在都只有 CSV、JSON、XLS 和 XML 编写器。您必须编写自己的 XLSX 导出功能或找到实现它的捆绑包(我还没有找到)。