【问题标题】:exporting csv in zend framework在zend框架中导出csv
【发布时间】:2011-07-19 13:43:07
【问题描述】:

我知道如何在 php 中导出 csv 文件。现在我想在 zendframe 工作中完成这项任务。

1 我想知道 zend 是否为此目的提供了任何内置功能,或者我们必须编写我们在简单 php 中使用的相同代码?

2 如果我必须使用相同的代码,那么我应该将它放在模型还是控制器中?

3 我有一个视图,用户可以在其中选择开始日期、最后日期和用户,然后按 Enter。基于该选择,我想导出 csv 文件。

任何人指导我如何完成这项任务

【问题讨论】:

    标签: php zend-framework csv export-to-excel


    【解决方案1】:

    按顺序解决您的问题

    1. Zend 框架中没有可以生成和处理 CSV 文件的组件。

    2. 您的控制器应该只收集请求参数(即从第 3 点开始的日期范围)并启动响应。我将创建另一个可以生成 CSV 的类,然后使用 this Controller Action Helper, SendFile 实际将 CSV 文件作为下载文件发送。

    3. 让您的控制器使用表单接收请求参数。使用您的班级(第 2 点)生成 CSV,然后使用帮助程序发送响应。

    对于生成 CSV 文件,建议使用 fputcsv 而不是自己构建字符串。

    【讨论】:

      【解决方案2】:

      这是一个 Zend Framework Action Helper - 可能会有所帮助。请注意,站点和代码 cmets 为德语。 http://blog.abmeier.de/zend-csv-action-helper

      【讨论】:

      • 你应该在页面的语言上注明一下:-)我很震惊它不是英文的:-) :-)
      • 死链接... :(
      【解决方案3】:

      基于 regilero 对this question 的回答,我确实想出了一个 Zend 解决方案。只需对数据库本身使用完整的查询:

      $result = $this->_db->query(
           'SELECT * FROM `table_xy`'
          .'INTO OUTFILE \'tmp/outputfile.csv\''
          .'FIELDS TERMINATED BY \';\''
          .'ENCLOSED BY \'"\''
          .'LINES TERMINATED BY \'\\n\''
      );
      

      别忘了为该用户设置necessary privileges

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多