我正在尝试使用 PHP 的 fputcsv 函数将数组导出到 CSV 文件。但是,在 Excel 2007 和 2010 中打开文件时,我得到了两种完全不同的行为。
在 Excel 2007 中,我得到了我想要的,因为所有字段都在它自己的单独列中,如下所示:
啊!bbb | 抄送 | dddd
123 | 第456章 789
“啊啊” | "bbb" |
但在 Excel 2010 中,所有字段都在同一列上,如下所示:
aaa,bbb,ccc,dddd
123,456,789
"aaa","""bbb"""
如何获得 Excel 2007 和 2010 的 Excel 2007 行为?
我使用了以下脚本:
$filename = "test.csv";
//header("Content-Type: application/vnd.ms-excel;");
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="' . $filename . '"');
header("Pragma: no-cache");
header("Expires: 0");
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen("php://output", 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
我试过使用 header("Content-Type: application/vnd.ms-excel;"); 或 header('Content-Type: text/csv'); 但我得到了同样的行为。:S
先感谢您。
编辑:我刚结束使用 PHPExcel。这是一个很棒的图书馆!!