想知道是否有人可以提供帮助?我目前使用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);
我看过其他建议对数据进行编码的问题,但是要么没有影响,要么没有数据输出。