【问题标题】:How to avoid empty lines while downloading/exporting csv file in laravel 4如何在laravel 4中下载/导出csv文件时避免空行
【发布时间】:2015-02-26 12:25:02
【问题描述】:

您好,我正在使用 laravel 4 开发一个应用程序,当我尝试以 csv 格式下载我的报告时,它会在标题前插入 4 个新的空行,我想摆脱那些空行。

这是我的代码

public function getDownloadCsv()
    {

        // Grab all the assets
        $assettypes = Assettype::orderBy('id', 'ASC')->select('id', 'asset_type')->get();


        $rows = array();

        // Asset Type Id
        $header = array(
            Lang::get('admin/assetdetails/table.assetnum'),
            Lang::get('admin/assetdetails/table.asset_name'),

        );
        $header = array_map('trim', $header);
        $rows[] = implode($header,',');

        // Create a row per asset
        foreach ($assettypes as $assettype) {
            $row = array();
            $row[] = $assettype->id;
            $row[] = $assettype->asset_type;
            $rows[] = implode($row,',');
        }

          // spit out a csv
         $csv = implode($rows,("\n"));
         $response = Response::make($csv, 200);
         $response->header('Content-Type', 'text/csv');
         $response->header('Content-disposition', 'attachment;filename=Help_document_for_asset_import.csv');
         return $response;
        } 

如果您需要更多详细信息,请告诉我。 请帮助我实现这一目标....

【问题讨论】:

  • 空行总是让人头疼。首先检查这个:stackoverflow.com/questions/11728791/…
  • @Adrenaxus 是的,我看到了,但我的代码中没有任何 php 标签。
  • @Adrenaxus 谢谢。我检查了所有文件,在其中一个文件中我有空行,我删除了那个空间,现在它工作正常。感谢您的宝贵回答。
  • 不客气。请回答您自己的问题,标记被接受以供将来参考。干杯

标签: php mysql laravel-4 export-to-csv


【解决方案1】:

最后我解决了这个问题,感谢 Adrenaxus 宝贵的 cmets,我所做的只是在关闭 php 标记后删除所有空行。请注意,您必须在应用程序的所有 php 文件中执行此操作。

在我的情况下,我检查了我正在工作的当前文件,但未能替换其他 php 文件中的空行,但问题仍然存在,删除所有 php 文件中的空格就可以了。

【讨论】:

    【解决方案2】:

    我确实通过使用函数ob_clean() 解决了这个问题,您可能还需要使用ob_start()ob_end_clean(),具体取决于您的代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      • 2020-06-19
      • 2020-04-07
      • 2014-09-04
      • 2021-03-07
      • 1970-01-01
      相关资源
      最近更新 更多