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