csv中的多列

时间:2013-10-23 13:26:04

标签: php csv multiple-columns

我正在用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);
 }

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

enter image description here

如何确保id,role_id和parent_id位于不同的列中?

1 个答案:

答案 0 :(得分:1)

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