注意点:
1.<td style='vnd.ms-excel.numberformat:@'> <td>
可以避免科学计数法
运行结果
源码
<?php
/**
* decripation:导出设备excel数据
*/
function ExportExcelEquipment(){
ob_end_clean();//清除缓冲区,避免乱码
header('Content-type:application/vnd.ms-excel');
header('Content-Disposition:attachment;filename='."设备详细信息".'.xls');//文件名自己取
/*查询数据库*/
$arrSearchList = array(
array('id'=>1,'type'=>'虚拟机','code'=>'2020092101','name'=>'虚拟机','brand_model'=>'虚拟机','cpu'=>'64','memory'=>'8G','hard_disk'=>'10240'),
array('id'=>2,'type'=>'网络设备','code'=>'2020092102','name'=>'网络设备','brand_model'=>'网络设备','cpu'=>'128','memory'=>'8G','hard_disk'=>'10240'),
array('id'=>3,'type'=>'安全设备','code'=>'2020092103','name'=>'安全设备','brand_model'=>'安全设备','cpu'=>'32','memory'=>'4G','hard_disk'=>'10240')
);
/*ending 查询数据库*/
/*写入表字段名*/
$THead=array('设备类型','设备代码','设备名称','品牌型号','cpu','内存','硬盘');//这里是要输出的列头(自己看情况设置)
$arrKeyName=array('type','code','name','brand_model','cpu','memory','hard_disk');//这里是对应列头的字段名(自己看情况设置)
/*写入数据*/
echo'<table border="1">';//以表格的形式输出也可以字符串拼接
//输出表名
echo'<tr>';
echo'<th colspan='.count($THead).'><span style="font-size: 25px">设备信息导出表</span> <span style="font-size: 12px">统计日期:'.date("Y-m-d h:i:s").'</span></th>';//直接输出即可,
echo'</tr>';
//输出head
echo'<tr>';
foreach($THead as $h)
{
echo'<th>'.$h.'</th>';//直接输出即可,
}
echo'</tr>';
//输出body
foreach ($arrSearchList as $arrRow){
echo'<tr>';
foreach($arrKeyName as $skey){
if (isset($arrRow[$skey])){
echo"<td style='vnd.ms-excel.numberformat:@'>".$arrRow[$skey]."</td>";
}else{
echo'<td> </td>';
}
}
echo'</tr>';
}
//输出footer
echo'<tr>';
echo'<th colspan='.count($THead).'><span style="font-size: 10px"></span></th>';//直接输出即可,
echo'</tr>';
echo'</table>';//OK
}
ExportExcelEquipment();//导出Excel