csv文件中的数据格式不正确,仅在一列中显示为javascript代码或html代码
用户控制器中的代码
for export data in csvfile from database of user table
public function export() {
$this->response->download("export.csv");
$data = $this->Users->find('all');
$this->set(compact('data'));
$this->layout = 'ajax';
return;
}
// app/Views/Users/export
header('Content-type: text/csv');
header("Content-Disposition: attachment; filename=export.csv");
foreach ($data as $row) {
foreach ($row['Users'] as $cell) {
// Escape double quotation marks
$cell = '"' . preg_replace('/"/','""',$cell) . '"';
}
echo implode(',', $row['Users']) . "\n";
}
输出屏幕截图:
1条答案
按热度按时间yqyhoc1h1#
正如我在这里看到的,看起来像是调试栏的调试变量或类似的东西(因为我没有你的csv文件的完整视图)所以我可以建议一些行动来检查,因为我知道:
$this->layout = 'ajax';
所示。它可能包含默认调试栏或自定义代码。空 * AJAX 布局**看起来像this$this->layout = false;
或在蛋糕3使用$this->viewBuilder()->layout(false);
有时候php代码也会注入到输出文件或视图页面,因为你的代码有通知或警告信息。所以请检查完整的csv文件,从html代码开始的地方开始读取,你就会明白问题所在