在导出的 csv 值中,number_format 未显示以逗号分隔

问题描述 投票:0回答:2

在我的项目中,我使用以下代码来格式化数字

$row[$k] = number_format($number, 2, '.', ',');

当我导出 xlsx 文件时,它工作正常,我得到的数据如下

2,607,697.14

但是问题出在 csv 中。当我导出 csv 文件时,我得到的数据如下

2607697.14

如果我使用下面的代码

$row[$k] = '"' . number_format($number, 2, '.', ',') . '"';

对于 csv 和 xlsx,我得到

“2,607,697.14”

我不明白为什么我没有得到 csv 中带逗号的值?我怎样才能得到我想要的值? csv 文件中的数据显示:

总销售额 总金额 总佣金

234 2607697.14 148693.56

xlsx中的数据显示:

总销售额 总金额 总佣金

234 2,607,697.14 148,693.56

php php-7.2 export-csv
2个回答
1
投票

CSVXLS文件格式之间的区别在于,CSV格式是纯文本格式,其中值以逗号分隔,而XLS文件格式是Excel Sheets二进制文件格式,其中保存有关所有工作表的信息在一个文件中。 因此,在 CSV 文件中,您将获得纯文本字符串形式的数值,但在 XLS 文件中,相同的值显示为格式化数字。

XLS中,您可以导出图像、链接、符号、图表,但不能在CSV中导出。


0
投票
简单 如果导出代码包含这个

$objWriter->setDelimiter(','); $objWriter->setEnclosure('');

请评论并尝试。

© www.soinside.com 2019 - 2024. All rights reserved.