【发布时间】:2019-09-01 23:51:51
【问题描述】:
我有一个代码可以创建一个 CSV 文件并将某些数据放入其中。这些数据有些是文本,有些是数字字符串。在 Excel 中导入此 CSV 文件时,程序会从数字字符串(电话号码和邮政编码)中删除前导零。有没有办法可以格式化/更改这些数字字符串值,以便 Excel 可以以保持前导零的方式读取它们?还是只是 Excel 的问题,应该从那里解决这个问题?
我尝试在数字字符串之前添加撇号,数字会在那里,但撇号也会保留,我不希望这样。
$dataorder = ["Receiver:", $_POST['orderperson'], $_POST['address'], $_POST['postnumber'], $_POST['city'], $_POST['email'], $_POST['phone']];
fputcsv($fh, $dataorder, $delimeter);
【问题讨论】:
-
这是一个excel问题,不是PHP。使用“从文本导入”命令,将电话号码、邮政编码字段作为文本导入。
-
在 Excel 中,您添加一个
'单引号前缀来告诉 Excel 这是一个文本,即使它包含数字。因此,在将它们写入 csv 文件之前,将'添加到 PHP 中的字段 -
导入文件时的问题是Excel从一开始就删除了0。将格式更改为文本不会恢复原状。
-
Riggs,就像我在文中所说的那样,我试过了,但即使没有删除零,我也不希望引号留在那里。
-
@SalmanA 哦,对了,我没有使用 Power Query 视图,它帮助我在导入之前将字段格式化为文本。谢谢你!
标签: php excel csv leading-zero postdata