是否可以在CSV文件中定义列\单元格格式?

时间:2014-01-27 12:49:06

标签: php excel csv fputcsv

在我的项目中,我生成一个CSV文件供用户下载。在其中一列中,有一些值可以从0开始。 但是,当用户下载文件并打开文件时,零会消失。

3 个答案:

答案 0 :(得分:1)

如果写入正确,csv文件可能会保留前导零的值(通过在文本编辑器中打开它很容易检查);但是MS Excel(或Gnumeric或Open / Libre Office)在导入CSV文件时始终将数字格式化为标准格式,因此无法在CSV格式文件中存储屏蔽细节,例如前导零等。

一种选择是将格式化的数字包装在引号中,以便将它们视为字符串,例如

"001234.56"

但是如果你想在电子表格程序中打开一致的格式,你真的需要使用原生格式,如BIFF,OfficeOpenXML或OASIS

答案 1 :(得分:1)

您需要将输出“定义”为字符串而不是数字。

我假设你现在有类似的东西:

field1,01245254,field3

结果是:

field1 | 1245254 | field3

如果您将csv格式化为:

"field1","01245254","field3"

这将导致:

field1 | 01245254 | field3

答案 2 :(得分:0)

例如,零甚至是从原始文件中消失的。 excel删除前导零,但它们仍在原始文件中。