【问题标题】:Is it possible to define column\cell format in CSV file?是否可以在 CSV 文件中定义列\单元格格式?
【发布时间】:2014-01-27 12:49:05
【问题描述】:

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

【问题讨论】:

  • 看看PHPExcel类!易于用于生成 csv 或 excel 文件。 phpexcel.codeplex.com
  • 您是否尝试过将单元格值放入引号内?

标签: php excel csv fputcsv


【解决方案1】:

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

一种选择是将格式化的数字用引号括起来,以便将它们视为字符串,例如

"001234.56"

但如果您希望在电子表格程序中打开格式一致,您确实需要使用原生格式,例如 BIFF、OfficeOpenXML 或 OASIS

【讨论】:

    【解决方案2】:

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

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

    field1,01245254,field3
    

    结果:

    field1 | 1245254 | field3
    

    如果您将 csv 格式化为:

    "field1","01245254","field3"
    

    这会导致:

    field1 | 01245254 | field3
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-21
        • 2015-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多