我正在用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位于不同的列中?
答案 0 :(得分:1)
您的CSV数据看起来不错,但看起来您用于打开CSV的任何工具都不使用逗号作为分隔符。正如davidkonrad建议的那样,你可以用引号包装每个值,看看是否有帮助。通常,在Google文档或Excel中打开CSV时,它会询问您要如何分隔,并且通常默认使用逗号。