PHP fputcsv与excel使用的字符有关的问题

时间:2019-01-24 16:11:44

标签: php excel fputcsv

想知道是否有人可以提供帮助?我目前使用fputcsv将数据从我们的系统输出到CSV中-但是,包含某些excel使用的字符(例如'+','-'和'=')的字段会使excel错误地对待数据。

例如,我们的下载之一输出了用户已回答的问题,其中一个问题的值“ 1-10”作为字符串。如果在文本编辑器中打开,则可以看到字符串为“ 1-10”。但是,excel希望将其输出为“ 01-Oct”。

另一个示例是excel将使用XXXE.11输入的电话号码视为“ + 44XXXXX”。

更重要的是excel如何处理数据–有什么办法可以告诉CSV将所有行都视为字符串?

这是我的PHP代码;

$fp = fopen($location . $filename . '.csv', 'w');
fputcsv($fp, $columns);

foreach($data as $line) {
  if(isset($line)) {
    // $encline = array_map("utf8_decode", $line);
    fputcsv($fp, $line);
  } else {
    fputcsv($fp, array(' '));
  }
}

// close file
fclose($fp);

我看过其他建议对数据进行编码的问题,但是要么没有影响,要么没有数据输出。

0 个答案:

没有答案