0
我使用这个简单的脚本输出从PHP到EXCEL文件:如何在从PHP导出到EXCEL时在单元格中保留“零”?
<?php
header('Content-Type: text/csv;');
header('Content-Disposition: attachment; filename="TDO-2017-'. $_GET['lieu'].'.csv');
require('../scripts/lib.php');
?>
"NOM";"PRENOM";"E-MAIL";"TELEPHONE";"ADRESSE";"CODE POSTAL";"VILLE"
<?php
echo "\n";
$rq = mysqli_query($connexion, 'SELECT * FROM tui_inscription WHERE lieu = "'. $_GET['lieu'] .'" AND valid = 1');
while($d = mysqli_fetch_assoc($rq)) {
echo '"' . $d['nom'] . '";"' . $d['prenom'] . '";"' . $d['email'] . '";"' . str_replace("+33","0", $d['telephone']) . '";"' . $d['adresse'] . '";"' . $d['cpostal'] . '";"' . $d['ville'] . '"'."\n";
}
?>
它的工作完美,唯一的问题是在电话号码的前导零消失。我已经看到很多关于如何使用其他库来确定单元格类型的解释,但是因为我不知道PDO并且脚本已经有效,所以我首先想知道是否有一种方法可以更改我的代码以执行招。
如果您将文件保存为.txt扩展名? –
它们正确存储在文件中,但您使用MS Excel查看它;和MS Excel对待数字和数字(总是失败,我知道),并且数字没有前导零....尝试用'='前缀以便MS Excel将它视为公式 –
PS,你知道PHP有这个内置的函数,名为[fputcsv()](http://www.php.net/manual/en/function.fputcsv.php),它会干净地编写一个csv文件,它的丑陋代码会正确处理字符串内的引号 –