使用LaravelExcel导出表格数据格式问题

由于业务需要,使用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

 

你可能感兴趣的:(PHP,Larevel)