EXCEL表 F 列为长数字,如 2015072708542427700014133717 导出后会变成 201507270854242770001410000
上网搜解决方案,第一个方案为设置第 F 列为字符串形式,如下
$objPHPExcel = new PHPExcel();
//设置F列(订单号)为文本格式$objPHPExcel->getActiveSheet()->getStyle('F')->getNumberFormat()
->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
$i=1;
foreach($info as $row){
$asc2 = 65;
foreach($row as $field){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue(chr($asc2++).$i, $field);
}
$i++;
}
结果失败,可能是设置格式的时候出了什么问题。
然后继续搜索,找到第二种方式
// 操作第一个工作表
$objPHPExcel->setActiveSheetIndex(0);
$i=1;
foreach($info as $row){
$asc2 = 65;
foreach($row as $field){
$objPHPExcel->getActiveSheet()->setCellValueExplicit(chr($asc2++).$i, $field, PHPExcel_Cell_DataType::TYPE_STRING);
}
$i++;
}
设置单元格的时候指定这个数据的类型,就成功了。