数字前的PHP CSV excel不显示0

我正在写数据从数据库到Excel,并有一个问题,如果数字有第一个符号“0”Excel不显示。 例如numer 0777 excel显示777 ,有编程问题还是excel?

这里有一个基本的例子,如何使用PHPExcel设置数字样式。 在Excel中,这些值将被作为数字777进行威胁,但是将以前导零0770进行格式化。

 // create a new document $xls = new PHPExcel(); // get the first worksheet $sheet = $xls->getSheet(0); // write example values and set number styles of the cells // 0000 means that values lower than 1000 will be prepended by a 0 $sheet->getCell('A1')->setValue('0777'); $sheet->getStyle('A1')->getNumberFormat() ->setFormatCode('0000'); $sheet->getCell('A2')->setValue('0440'); $sheet->getStyle('A2')->getNumberFormat() ->setFormatCode('0000'); // write file in Excel2007 format $writer = new PHPExcel_Writer_Excel2007($xls); $writer->save('test.xlsx'); 

我的代码出口清洁数据有一些规则的string

 ob_end_clean(); function cleanData(&$str) { if($str == 't') $str = 'TRUE'; if($str == 'f') $str = 'FALSE'; if(preg_match("/^0/", $str) || preg_match("/^\+?\d{8,}$/", $str) || preg_match("/^\d{4}.\d{1,2}.\d{1,2}/", $str)) { $str = "'$str"; } if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"'; } // filename for download $filename = date("Ymd").".csv"; header('Content-Type: text/csv'); header("Content-Disposition: attachment; filename=\"$filename\""); $out = fopen("php://output", 'w'); $flag = false; //$result = $orderDetails; foreach($details as $row) { if(!$flag) { // display field/column names as first row fputcsv($out, array_keys($row), ',', '"'); $flag = true; } array_walk($row, 'cleanData'); fputcsv($out, array_values($row), ',', '"'); } fclose($out); exit();