Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将mysql数据导出到CSV后的数字问题_Php_Mysql_String_Excel - Fatal编程技术网

Php 将mysql数据导出到CSV后的数字问题

Php 将mysql数据导出到CSV后的数字问题,php,mysql,string,excel,Php,Mysql,String,Excel,当我从数据库获取数据并将其导出为csv文件时,我遇到以下问题: 数字的前导零不显示 大数字显示如下->1E+12 如何通过PHP强制MS Excel将所有数据显示为字符串这不是MySQL的问题,而是Excel的问题 这个。。。可能有助于: 但这个问题更多的是与微软Office有关,而不是与编程有关 (或者根据注释建议,使用带有显示格式信息的文件格式,如.xls)您可以使用双引号包含数字,如下所示: if(is_numeric($column)) $column = '"'.$number.'

当我从数据库获取数据并将其导出为csv文件时,我遇到以下问题:

  • 数字的前导零不显示
  • 大数字显示如下->
    1E+12

如何通过PHP强制MS Excel将所有数据显示为字符串这不是MySQL的问题,而是Excel的问题

这个。。。可能有助于:

但这个问题更多的是与微软Office有关,而不是与编程有关


(或者根据注释建议,使用带有显示格式信息的文件格式,如.xls)

您可以使用双引号包含数字,如下所示:

if(is_numeric($column)) $column = '"'.$number.'"';
您可以使用number_formate()函数来转换

视图链接

功能:数字_格式() 语法:number_格式(float$number,int$decimals=0,string$dec_point='.',string$数千_sep='.',')) 将6.90743E+11转换为数字的示例使用以下代码


number_format(6.90743E+11,0,,'')//输出69074300000

I通过在其开始和结束处连接空格将其格式化为字符串


CONCAT(“,database_number,”)作为“用于Excel的数字”

我认为您需要通过Excel更改单元格格式。我需要使用PHP执行此操作当您将CSV导入MS Excel时,您可以选择为每个列定义格式。。。如果您只需双击CSV在MS EXcel中打开,您将无法使用MS EXcel的默认格式选项。如果您希望通过双击打开具有特定格式的文件,则您不能使用CSV,但需要使用公认的电子表格格式(例如xls、xlsx、ods)定义格式后,使用记事本或类似工具查看CSV。如果没有问题,那就是Excel的错。