You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP使用fputcsv导出CSV时长整数显示为科学计数法的问题

解决PHP fputcsv生成CSV时长整数显示为科学计数法的问题

这个问题本质是Excel等表格软件会把过长的数字自动识别为数值类型,进而用科学计数法显示,同时开头的前导零也会被丢失。要让长整数以完整文本形式显示,需要在输出时给这些字段添加标识,强制软件识别为文本。

方法一:添加制表符前缀

在长整数前拼接\t(制表符),Excel会将其识别为文本,完整显示数字且保留前导零:

fputcsv($file, array('Id','DESTINATION_ACCOUNT','SOURCE_ACCOUNT'));
if(!empty($data)){
    foreach($data as $key => $row){
        fputcsv($file, [
            $row['ID'],
            "\t" . $row['DESTINATION_ACCOUNT'],
            "\t" . $row['SOURCE_ACCOUNT']
        ]);
    }
}

方法二:添加单引号前缀并包裹

给长整数前加单引号',Excel打开时会自动隐藏单引号,以文本形式显示完整数字:

fputcsv($file, array('Id','DESTINATION_ACCOUNT','SOURCE_ACCOUNT'));
if(!empty($data)){
    foreach($data as $key => $row){
        // 单引号前缀让Excel识别为文本
        $destAccount = "'" . $row['DESTINATION_ACCOUNT'];
        $sourceAccount = "'" . $row['SOURCE_ACCOUNT'];
        
        fputcsv($file, [
            $row['ID'],
            $destAccount,
            $sourceAccount
        ]);
    }
}

注意事项

  • 制表符前缀在纯文本编辑器中会显示为空白,但Excel处理正常;
  • 单引号前缀在Excel中不会显示,纯文本查看时会看到单引号,可根据需求选择合适的方法。

内容的提问来源于stack exchange,提问作者Md. Abdul Hannan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 07:15:41