在导出excel的时候,一些纯数字的数据如身份证号码导出到excel中可能会以科学计数法的形式展示,不符合要求,可以通过setCellValueExplicit第三个参数控制输出格式
public function setCellValueExplicit($pCoordinate = 'A1', $pValue = null, $pDataType = PHPExcel_Cell_DataType::TYPE_STRING, $returnCell = false)
第三个参数默认是 字符串 显示,第三个参数可供选择的值有下面几种:
const TYPE_STRING2 = 'str'; const TYPE_STRING = 's'; const TYPE_FORMULA = 'f'; const TYPE_NUMERIC = 'n'; const TYPE_BOOL = 'b'; const TYPE_NULL = 'null'; const TYPE_INLINE = 'inlineStr'; const TYPE_ERROR = 'e';
//示例代码
foreach ($list as $k => $v) {
$PHPSheet->setCellValue("A{$row}", $v['name'])
->setCellValueExplicit("B{$row}", $v['idcard'],\PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit("C{$row}", $v['mobile'],\PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit("D{$row}", $v['bank'],\PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValueExplicit("E{$row}", $v['card_no'],\PHPExcel_Cell_DataType::TYPE_STRING)
->setCellValue("F{$row}", $v['remark']);
$row++;
}