在我的项目中,我生成一个CSV文件供用户下载。在其中一列中,有一些值可以从0开始。 但是,当用户下载文件并打开文件时,零会消失。
答案 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删除前导零,但它们仍在原始文件中。