【问题标题】:Cant save data to csv file with CsvView plugin无法使用 CsvView 插件将数据保存到 csv 文件
【发布时间】:2019-03-24 18:20:12
【问题描述】:

我想将请求结果从 db 保存到 csv 文件中。但我只想拥有 csv 文件中的 html 代码...

那是我的 current-project.ctp

<section class="content-header">
  <h1>

    <?php
    foreach($currentProject as $i){
        // debug($i);
        echo __('Details of the project: ').$i['shortname'];
    }
     ?>
    <hr>
  </h1>
  <ol class="breadcrumb">
    <li>
    <?= $this->Html->link('save', [
        'controller' => 'projects', 
        'action' => 'export',
        // '_ext' => 'csv'
        ],

        ['class' => 'btn btn-success']) 
      ?>
    </li>
    <li>
    <?= $this->Html->link('<i class="fa fa-dashboard"></i> '.__('Back'), ['action' => 'index'], ['escape' => false]) ?>
    </li>
  </ol>
</section>

这是我在控制器中的导出函数:ProjectsController.php

public function export() {
        $this->response->download('export.csv');
        $data = [
            ['a', 'b', 'c'],
            [1, 2, 3],
            ['you', 'and', 'me'],
        ];
        $_serialize = 'data';
        // $this->response->download('export.csv');

        $this->viewBuilder()->setClassName('CsvView.Csv');
        $this->set(compact('data', '_serialize'));
        return;
    }

路由:Router::extensions(['csv']);

这是结果...我想在单元格中的文件 $data 数组中查看

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>ContentSYSTEM</title>
    <!-- Tell the browser to be responsive to screen width -->
    <meta content="width=device-width
    <!-- Bootstrap 3.3.5 -->
    <link rel="stylesheet" href="/admin_l_t_e/bootstrap/css/bootstrap.min.css"/>    <!-- Font Awesome -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
    <!-- Ionicons -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css">
    <!-- Theme style -->
    <link rel="stylesheet" href="/admin_l_t_e/css/AdminLTE.min.css"/><!-- AdminLTE Skins. Choose a skin from the css/skins
...

【问题讨论】:

    标签: php csv cakephp export-to-csv


    【解决方案1】:

    您应该在下面添加到您的控制器:

    use Cake\View\ViewBuilder; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-05
      • 1970-01-01
      • 2019-11-08
      • 2016-03-12
      • 2018-05-10
      • 2014-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多