今天使用php导出cvs,在excel中打开,某一个字段是数字,长度高于16位结果就显示科学计数法
超过15位的话从第16位开始就用0代替了
查询了半天总算解决了就是在后面加上"\t"
$data[$key][1] = " ".$value[1]."\t";
// file name
$filename = date('Ymd').'123.csv';
header("Content-type: text/csv; charset=UTF-8");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Transfer-Encoding: binary");
$data = [
['hhh','123321213313123123131'],
['hh3123h','123321213313123123131'],
['hh34h','12332121331312312313131231']
];
foreach ($data as $key =>$value)
{
$data[$key][1] = " ".$value[1]."\t";
}
// file creation
ob_clean();
$file = fopen('php://output', 'w');
fwrite($file,"\xEF\xBB\xBF");
$header = array("test1",'test2');
fputcsv($file, $header);
foreach ($data as $key=>$line){
fputcsv($file,$line);
}
fclose($file);
exit;