由于业务需要,使用Maatwebsite的LaravelExcel作为数据导出插件,使用过程中碰到几个问题:
1、导出数据中,数值型字段无法进行计算
$sheet->setColumnFormat([
'A' => '#,##0.00',//A列 => 数字类型
]);
2、部分数据会自动转化为科学计数法(大于等于12位自动转化)
一开始将该列类型设为文本类型,但是还是出现自动转化科学计数法
$sheet->setColumnFormat([
'A' => '@',//A列 => 文本类型
]);
后来在数据前面加上 "\t" 则可以避免自动转化
//防止超过12位自动转化科学计数法
if (preg_match("/^\d*$/", $data) && strlen($data) >= 12) {
$data[$field] = "\t" . $data;
}
参考:
https://blog.csdn.net/wonbin2011/article/details/81625161
https://blog.csdn.net/u013699800/article/details/47295899