PHP导出为excel文件时,身份证却以科学计数法显示,如何正常显示
PHP在把数据库中的记录导出为excel文件时,生成的excel文件中的身份证一列,却以科学计数法显示的,
不知有什么法子,让其全部显示。代码如下:
<?php
header("content=text/html; charset=gb2312");
header("Content-type:application/vnd.ms-excel");
date_default_timezone_set('PRC');//解决时间少了8小时的问题;
header("Content-Disposition:attachment;filename=".date('Y_m_d_H_i_s').".xls");
echo "<table width='100%' border='1' cellpadding='0' cellspacing='0'>";
echo "<tr align='center' height='80'><th colspan='3'><font size='5'>学员信息表</font></th></tr>";
echo "<tr align='center' height='30' style='font-size:14px;'>";
echo "<th bgColor='#FFCC66'>序号</th>";
echo "<th bgColor='#FFCC66'>学员姓名</th>";
echo "<th bgColor='#FFCC66'>身份证号码</th>";
echo "</tr>";
$i = $number;
while($rows = mysql_fetch_array($result)){
echo "<tr height='26' align='left' style='font-size:14px;'>";
echo "<td align='center'>".$i."</td>";
echo "<td>".$rows['app_name']."</td>";
echo "<td>".$rows["app_id_card"]."</td>";
echo "</tr>";
$i--;
}
echo "</table>";
?>
需要说明的是:数据库中身份证的字段属性用的是:varchar
另外,如果在导出的时候,前面加一个 '
echo "<td>'".$rows["app_id_card"]."</td>";
在excel中身份证也会以全部显示,不过生成的号码前面会有一个 ',
双击这个单元格后,这个 ' 会在 左上角生成一个小三角。
[解决办法]
以文本格式储存
[解决办法]
echo "<td> ".$rows["app_id_card"]."</td>";
这样可以,无伤大雅