1

db から Excel にデータを書き込んでいますが、数値に最初の記号「0」がある場合、Excel が表示されない場合、1 つの問題があります。たとえば、数字の0777Excelショー777、プログラミングの問題またはExcelがありますか?

4

2 に答える 2

1

文字列にいくつかのルールがあるクリーンデータのエクスポートに関する私のコード

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();
于 2013-04-30T13:24:52.310 に答える