0

我正在用 php 创建一个可下载的 csv。这是我到目前为止所拥有的:

 // output headers so that the file is downloaded rather than displayed
 header('Content-Type: text/csv; charset=utf-8');
 header('Content-Disposition: attachment; filename=data.csv');

 // create a file pointer connected to the output stream
 $output = fopen('php://output', 'w');

 // output the column headings
 fputcsv($output, array('id', 'role_id', 'parent_id'));

 $list = RoleQuery::create()->find();
 $list = $list->toArray();

 $list = array_values($list);
 // loop over the rows, outputting them
 foreach($list as $fields){
     fputcsv($output, $fields);
 }

只是为了测试,我正在输出我的数据库中的角色。问题是它们都在这样的一列中:

在此处输入图像描述

如何确保 id、role_id 和 parent_id 在不同的列中?

4

1 回答 1

1

您的 CSV 数据看起来不错,但看起来您用来打开 CSV 的任何工具都没有使用逗号作为分隔符。正如 davidkonrad 建议的那样,您可以将每个值用引号括起来,看看是否有帮助。通常,在 Google Docs 或 Excel 中打开 CSV 时,它会询问您希望如何分隔,并且它们通常默认为逗号。

于 2013-10-23T13:37:22.607 回答