我正在使用如下所示的php将mysql数据导出到excel表中。
<?php
header("Content-Type: application/xls");
header("Content-Disposition: attachment; filename=$filename.xls");
header("Pragma: no-cache");
header("Expires: 0");
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" >
<tr>
<th class="excel_style">Order Type</th>
<th class="excel_style">Order Number</th>
<th class="excel_style">EAN</th>
<th class="excel_style">Article #</th>
</tr>
<?php
// mysqli query comes here
while($result = mysqli_fetch_assoc($res)){?>
<td><?php echo $result['order_type'] ;?></td>
<td><?php echo $result['order_number'];?></td>
<td><?php echo $result['EAN'];?></td>
<td><?php echo $result['article_number'];?></td>
</tr>
<?php } ?>
</table>
一切正常,但是在EAN和Article#列中生成excel报告后,值将像科学计数法一样显示,如下所示。
4.04623E+12 but the original value is - 4046228026756
。因此,当用户打开excel工作表时,相关列应显示为原始值。我该如何实现?任何帮助将不胜感激。
有没有办法告诉Excel单元格的数据类型是String类型。如下图所示
$excel1->setActiveSheetIndex(0)->setCellValueExplicit('C'.$k, $row['EAN'],PHPExcel_Cell_DataType::TYPE_STRING)