使用php函数写入csv时,0是截断的

时间:2011-07-28 10:58:45

标签: php csv

我尝试使用php函数将数据写入csv。

但写入csv时,0是截断的。

$data = array ( 'aaa,bbb,ccc,dddd', '000123,456,789','"aaa","bbb"');

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

foreach($data as $line)
{
  $val = explode(",",$line);
  fputcsv($fp, $val);
} 

fclose($fp);

3 个答案:

答案 0 :(得分:3)

如果您尝试在excel或open office中打开csv,它将截断前导零。  当你在零之前用“\ t”构造字符串以避免0截断

答案 1 :(得分:2)

我认为Excel已将其视为数字而忽略了0。

您可以尝试这样做:

fputcsv ($fp, "='".$val."'");

看看它是否有效

答案 2 :(得分:1)

你可以发现它是Excel等等正在吃0个字符(你可以通过在记事本中打开csv文件(或者你喜欢的任何文本编辑器)来测试它,看看它们是否在那里。

如果情况并非如此,请尝试使用以下行:

fputcsv($fp, (string) $val);

以防万一以某种方式将变量强制转换为整数。