通过PHP在CSV文件中保持前导零

我遇到了问题。 我在HTML中创建了一个Web表单,使用fputcvs函数通过PHP文件存储CSV文件中的输入数据。
Now ...当我在Excel中打开该CSV文件,或者通过google工作表中的= IMPORTDATA函数时,它会删除前导 零(0)。 在我的情况下,前导零是非常重要的。
通过PHP或HTML文件修复它的方法或技巧?
谢谢</ p>

我的PHP代码:</ p>

 &lt;?php 

$ fieldA = $ _POST [“prezime”];
$ fieldB = $ _POST [“ime”];
$ fieldC = $ _POST [“datumrodjenja”] ;
$ fieldD = $ _POST [“mestorodjenja”];
$ fieldE = $ _POST [“rod”];
$ fieldF = $ _POST [“prebivaliste”];
$ fieldG = $ _POST [“brojpasosa “];
$ fieldH = $ _POST [”izdatod“];
$ fieldI = $ _POST [”vazido“];
$ fieldJ = $ _POST [”profesija“];
$ fieldK = $ _POST [ “zanimanje”];
$ fieldL = $ _POST [“fiksni”];
$ fieldM = $ _POST [“mobilni”];
$ fieldN = $ _POST [“email”];
$ fieldO = $ _POST [“napomena”];

$ keys = array($ fieldA,$ fieldB,$ fieldC,$ fieldD,$ fieldE,$ fieldF,$ fieldG,$ fieldH,$ fieldI,$ fieldJ,$ fieldK,$ 字段1,$ fieldM,$字段N,$ FIELD0中); //这就是你把表格元素放在ex:array('$ fieldA','$ fieldB'等)

$ keys = [“prezime”,“ime”,“datumrodjenja”,“mestorodjenja”, “rod”,“prebivaliste”,
“brojpasosa”,“izdatod”,“vazido”,“profesija”,“zanimanje”,“fiksni”,“mobilni”,
“电子邮件”,“napomena”]; \ n
$ labels = [“Prezime”,“Ime”,“DatumRođenja”,“MestoRođenja”,“Rod”,“Prebivalište”,
“BrojPasoša”,“Izdat Od”,“VažiDo”, “Profesija”,“Trenutno Zanimanje”,“Tel.Fiksni”,“Tel.Mobilni”,
“电子邮件Adresa”,“Napomena”];

$ values = [];
foreach($ keys as $ key)
$ values [] = $ _POST [$ key];

$ fname ='prijave.csv';
if(!file_exists($ fname)){
$ fp = fopen($ fname,'a');
//添加BOM以修复Excel
fputs中的UTF-8($ fp,$ bom =(chr(0xEF)。chr(0xBB)。chr(0xBF)));
fputcsv($ fp,$ labels);
}
else {
$ fp = fopen($ fname,'a');
}
fputcsv($ fp,$ values);
nclclose($ fp);

</ code> </ pre>
</ div>

展开原文

原文

I have a problem. I’ve created a web form in HTML that stores data from inputs in CSV file through PHP file using fputcvs function. Now... When I open that CSV file in Excel, or via =IMPORTDATA function in google sheets, it deletes leading zeros (0). The leading zeros are very important in my case. Any way or trick to fix it through the PHP or HTML file? Thanks

My PHP code:

<?php

$fieldA = $_POST["prezime"];
$fieldB = $_POST["ime"];
$fieldC = $_POST["datumrodjenja"];
$fieldD = $_POST["mestorodjenja"];
$fieldE = $_POST["rod"];
$fieldF = $_POST["prebivaliste"];
$fieldG = $_POST["brojpasosa"];
$fieldH = $_POST["izdatod"];
$fieldI = $_POST["vazido"];
$fieldJ = $_POST["profesija"];
$fieldK = $_POST["zanimanje"];
$fieldL = $_POST["fiksni"];
$fieldM = $_POST["mobilni"];
$fieldN = $_POST["email"];
$fieldO = $_POST["napomena"];

$keys = array($fieldA,$fieldB,$fieldC,$fieldD,$fieldE,$fieldF,$fieldG,$fieldH,$fieldI,$fieldJ,$fieldK,$fieldL,$fieldM,$fieldN,$fieldO); //THIS IS WHERE YOU PUT THE FORM ELEMENTS ex: array('$fieldA','$fieldB',etc)

$keys = ["prezime", "ime", "datumrodjenja", "mestorodjenja", "rod", "prebivaliste",
     "brojpasosa", "izdatod", "vazido", "profesija", "zanimanje", "fiksni", "mobilni",
     "email", "napomena"];

$labels = ["Prezime", "Ime", "Datum Rođenja", "Mesto Rođenja", "Rod", "Prebivalište",
     "Broj Pasoša", "Izdat Od", "Važi Do", "Profesija", "Trenutno Zanimanje", "Tel. Fiksni", "Tel. Mobilni",
     "E-mail Adresa", "Napomena"];

$values = [];
foreach ($keys as $key)
    $values[] = $_POST[$key];

$fname = 'prijave.csv';
if (!file_exists($fname)) {
    $fp = fopen($fname,'a');
    //add BOM to fix UTF-8 in Excel
    fputs($fp, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) ));
    fputcsv($fp, $labels);
}
else {
    $fp = fopen($fname,'a');
}
fputcsv($fp, $values);
fclose($fp);

duanouyong4228
duanouyong4228 你能在$_POST中提供样本数据,这样我们可以正确地重新创建你的代码吗?$_POST=[“prezime”=>“94820”,“ime”=>“0124757”,...]
2 年多之前 回复
douwo1517
douwo1517 这更多是关于应用程序如何读取CSV文件。如果您需要它作为电子表格,最好创建电子表格而不是CSV。如果你想要一种非常讨厌的强制方式-将字段值更改为=“0000001”
2 年多之前 回复
douhuan1908
douhuan1908 在excel文件中,您无法打印前导零,但您可以在记事本上看到它们。
2 年多之前 回复
dongle7637
dongle7637 希望这会有所帮助:-如何在PHP整数中保持前导零
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐