PHP 使用Laravel 导出Excel 长数字最后末位变为0 的问题

最近做项目导出订单Excel 文件时, 订单号变为了科学记数法。

PHP 使用Laravel 导出Excel 长数字最后末位变为0 的问题_第1张图片

 

自定义列的格式 选为0,把订单号从科学记数法转为数字时,最末尾全部变为0,

 

PHP 使用Laravel 导出Excel 长数字最后末位变为0 的问题_第2张图片

 

可能由于转为数字时超出长度了,末尾变为0. 好接下来解决这一问题,

一开始想的是把这一列的格式 改为普通文本 ,而不是默认的常规,用的是 laravel 的

Maatwebsite\Excel\Facades\Excel 库。 废话不多说:
    $sheet->setColumnFormat([
                    'B' => '@',
                ]);

把第二列改为文本格式,更多用法参考stackoverflow How to pre-format a cell to date on Laravel Excel

改完之后发现 第二列的格式确实从常规变为了 文本,但是订单号依然为科学计数法, 这种方式不行,继续找别的办法,

就是在代码中 将订单号拼接上制表符 "\t"

"\t" . $orderNo . "\t"

建议是使用制表符 而不是单引号,因为后续处理方便

问题解决^_^

 

参考链接

How to pre-format a cell to date on Laravel Excel

PHP导出Excel长数字末尾几位数为0的问题

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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