2017-09-22 6 views
1

enter image description herefputcsvを使ってcsvに10進値の後にスペースを入れる方法は?

これは私がcsvファイルにデータを書き込むために使用したコードです。 小数点以外はすべて正常に動作しています!

$row[] = '14.31 '; 
fputcsv($fp, $row, ',', '"'); 

私は0.31 "14.31 "後にスペースを持っているので、長さは"6"であるべきで、今私は"5"を取得しています。

このスペースをセルに含めるにはどうすればよいですか?

+0

は再生できません、うまく動作します – RomanPerekhrest

+0

このCSVを表示するために使用しているスプレッドシートファイルがコンテンツをフォーマットしていませんか?ファイルをMS Excelではなく、テキストエディタで調べます。 –

+0

P.S.あなたは 'PHPExcel'を使用していませんし、csvファイルはxlsファイルではありません。 –

答えて

1

は、変数に値を代入し、文字列 に例えば変換'14。 31 '; $ row [] =(文字列)$ test;

二重引用符を使用する 例:$ test = "14.31";

0

質問に興味をそそらは、望ましい結果を実現している見るために4例を走った、CASE 4は、トリックを行う必要があります:= $テスト:

<?php 
$fields[] = "case 1 - chr(32)"; 
$fields[] = "14.31 " . chr(32); // NO trailing space in .csv 

$fields[] = "case 2 - chr(160)"; 
$fields[] = "14.31 " . chr(160); // 2 trailing spaces in .csv 

$fields[] = "case 3 - rtrim + chr(32)"; 
$fields[] = rtrim("14.31 ", " ") . chr(32); // NO trailing space in .csv 

$fields[] = "case 4 - rtrim + chr(160)"; 
$fields[] = rtrim("14.31 ", " ") . chr(160); // 1 trailing space in .csv 

$fp = fopen('myfile.csv', 'w'); 

fputcsv($fp, $fields); 

fclose($fp); 
?> 
関連する問題