PHP CSV excel不在数字之前显示0

PHP CSV excel不在数字之前显示0,php,excel,csv,Php,Excel,Csv,我正在将数据从db写入excel,但有一个问题,若数字的第一个符号“0”excel不显示。例如numer0777excel show777,是否存在编程问题或excel 我的导出干净数据的代码有一些字符串规则 ob_end_clean(); function cleanData(&$str) { if($str == 't') $str = 'TRUE'; if($str == 'f') $str = 'FALSE';

我正在将数据从db写入excel,但有一个问题,若数字的第一个符号“0”excel不显示。例如numer
0777
excel show
777
,是否存在编程问题或excel

我的导出干净数据的代码有一些字符串规则

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("Y-m-d").".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();

下面是一个如何使用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');

您需要确保字段设置为字符串而不是整数。。。或者在excel文件中添加数字格式规则。@hek2mgl如何将excel行设置为标题中的字符串?我现在不知道。你在用哪个图书馆?将有一个外观。excel不会捕获int中的起始值023并将其转换为23,因此在将数据导出到时生成字符串或为0创建规则