CSV 文件不断更改使用 php 生成的 CSV 文件上的数字?

Posted

技术标签:

【中文标题】CSV 文件不断更改使用 php 生成的 CSV 文件上的数字?【英文标题】:CSV file keeps changing numbers on generated CSV file using php? 【发布时间】:2013-05-29 07:43:49 【问题描述】:

我正在 mysql 表中使用 php 生成 CSV 文件转换。

信用卡号在mysql数据库中显示如下44445959636345。当我将 mysql 表转换为 csv 文件时,它没有显示正确的信用卡号,就像这样 4.4446E+13

我的sql查询是$this->dbutil->csv_from_result($query);

CSV 文件更改所有卡号!例如,如果您的卡

44445959636345

而不是如上所示显示... CSV 将其更改并使其显示为:

4.4446E+13

如何解决这个问题,请指导我。

【问题讨论】:

怎么查看csv文件,也可能是编辑器(即excel)的问题 您在数据库中存储 cc 号码? 信用卡号包含 16 个字符,但 excel 单元格仅接受 15 个字符,因此只有格式更改。在 excel 中,如果我单击 4.4446E+13 数字,它会显示 44445959636345 完整详细信息,但我需要直接显示 44445959636345。 您是否尝试将数字放入 csv 中的公式中,例如 =44445959636345 信用卡号对于 MS Excel 或 PHP 中的 32 位整数值来说太长了,因此需要将其视为字符串......并且(给自己的备忘录)永远不要信任将纯文本 cc number 存储在 Excel 文件中的人,尤其是用于下载时 【参考方案1】:

问题是:该函数将信用编号称为整数。你要做的就是让它作为文本引用它。

【讨论】:

【参考方案2】:

如果您想在 excel 中查看 csv 文件,您可以在数字前面加上一个单引号,这样它将显示为文本。 警告这意味着您需要在将这样的 csv 文件导入数据库时​​删除该引用。这可以通过 php 或 sql 子字符串函数来完成。 所以而不是 44445959636345 输出 '44445959636345 到您的 csv 文件。

【讨论】:

以上是关于CSV 文件不断更改使用 php 生成的 CSV 文件上的数字?的主要内容,如果未能解决你的问题,请参考以下文章

使用PHP生成并导出CSV文件

PHP 使用PHP从Array生成CSV文件

如何在用电子表格(),php生成的.csv文件中显示带小数的整数?

Google API 使用 php 追加 CSV 文件

Modern PHP 使用生成器处理csv文件 Generator

php WPForms:更改导出CSV文件分隔符。