我想在csv文件中设置每列的大小,我想设置列的字段大小,我不知道在哪里可以设置代码来设置大小?任何人都可以帮助它,将提前感谢。
这是我的代码
function export($result)
{
Configure::write('debug',0);
$filename = "excel.".csv";
$csv_file = fopen('php://output', 'w');
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="'.$filename.'"');
// The column headings of .csv file
$header_row1 = array(
"Last Name",
"First Name",
"Middle Name",
);
$header_row = array_merge($header_row1,$header_row2);
fputcsv($csv_file,$header_row,',','"');
// Array indexes correspond to the field names in your db table(s)
if (!isset($result['Post']['User'])) {
$row1 = array(
$result['Post']['prefix_name'],
$result['Post']['first_name'],
$result['Post']['middle_name'],
$result['Post']['last_name'],
);
}
else {
$row1 = array(
$result['Post']['prefix_name'],
$result['Post']['first_name'],
$result['Post']['middle_name'],
$result['Post']['last_name'],
);
}
$row = array_merge($row1,$row2);
unset($row2);
fputcsv($csv_file,$row,',','"');
}
fclose($csv_file);
exit;
}
答案 0 :(得分:16)
你不能...... CSV文件没有任何格式,包括列大小。
如果要控制列宽,则需要将数据写入支持列宽的格式,例如BIFF(.xls)或OfficeOpenXML(.xlsx)或OASIS Open Document Format(.ods)或Gnumeric或其他电子表格。
答案 1 :(得分:4)
没有办法做到这一点 CSV代表coma separated values:
逗号分隔值(CSV)文件存储表格数据(数字和数字) 文本)以纯文本形式。纯文本表示文件是序列 字符,没有必须解释的数据,如 二进制数。 CSV文件包含任意数量的记录, 由某种断线分开;每条记录都包含字段, 由其他字符或字符串分隔,最常见的是文字 逗号或标签。通常,所有记录都具有相同的序列 字段。
简洁明了。
CSV太原始了。
你有没有试过用普通的文本编辑器打开CSV文件?
在这种情况下你需要XLS。
答案 2 :(得分:2)
据我所知,您无法在CSV中设置列大小,因为绝对没有关于演示文稿布局的信息。 CSV是逗号分隔值。
打开文件的应用程序的最佳行为是设置列宽以适合数据。
如果要管理演示文稿布局,则应生成可以使用Excel打开的html内容(在示例中)。在此类内容中,您可以设置一些属性,例如width="400"
...