将mysql数据导出为CSV后出现数字问题

时间:2013-05-23 14:42:46

标签: php mysql string excel

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

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

如何强制MS Excel通过PHP将所有数据显示为字符串

4 个答案:

答案 0 :(得分:4)

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

if(is_numeric($column)) $column = '"'.$number.'"';

答案 1 :(得分:0)

这不是MySQL问题,它是Excel的东西。

这......可能会有所帮助:http://answers.microsoft.com/en-us/office/forum/office_2007-excel/disabling-scientific-notation/943b8103-8c50-451d-8037-c697422e2307

但是这个问题更多的是与MS Office相关而不是编程。

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

答案 2 :(得分:0)

我通过在开头和结尾用空格连接它来将其格式化为字符串。

CONCAT(" ", database_number, " ") AS "Number For Excel"

答案 3 :(得分:-1)

您可以使用number_formate()函数转换...

查看链接

功能:number_format() 语法:number_format(float $ number,int $ decimals = 0,string $ dec_point ='。',string $ thousands_sep =',') 将6.90743E + 11转换为代码

下面的数字的示例

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