zoukankan      html  css  js  c++  java
  • php 封装原生数据导出的方法(csv文件格式)和csv文件中长数字自动变成科学计数法的处理

    如何解决上图长数字自动转换处理?

    CSV文件中长数字自动变成科学计数法处理.用程序导出的csv文件,当字段中有比较长的数字字段存在时,在用excel软件查看csv文件时就会变成科学计数法的表现形式.

    其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法;如果数字大于15位,它不仅用于科学技术法表示,还会只保留高15位,其他位都变0.

    解决方式: 只要把数字字段后面加上显示上看不见的字符即可,字符串结尾加上制表符" "

    示例demo:

     1 <?php
     2 /**
     3  * 导出数据
     4  * @return [type] [description]
     5  */
     6 function actionIncome()
     7 {
     8   //$data数据结构二维数组
     9   $data= [
    10               [
    11              'date'=>'20170501',
    12                 'channel_id'=>'888888888888'."	",
    13                'game'=>'test',
    14                 'fee'=>'10.00',
    15               ]
    16           ];
    17 
    18   $csvData = ''.','.''.','.'统计日报'."
    ";
    19   $csvData .= '日期,渠道id,游戏,收入' . "
    ";
    20   foreach ($data as $record) {
    21       $tmp = array(
    22               $record['date'],
    23               $record['channel_id'],
    24               $record['game'],
    25               $record['fee'],
    26           );
    27 
    28       $csvData .= implode(',', $tmp) . "
    ";
    29   }
    30   exportCsv('统计.csv', $csvData);
    31 }
    32 
    33 
    34 /**
    35  * 导出csv文件
    36  * @param  [type] $filename [description]
    37  * @param  [type] $data     [description]
    38  * @return [type]           [description]
    39  */
    40 function exportCsv($filename, $data)
    41 {
    42     header("Content-type:text/csv");
    43     header("Content-Disposition:attachment;filename=".$filename);
    44     header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
    45     header('Expires:0');
    46     header('Pragma:public');
    47     echo iconv("UTF-8", "GBK//TRANSLIT", $data);
    48     exit();
    49 }
    50 echo actionIncome();

    解决如下图结果:

  • 相关阅读:
    堆和栈的区别
    MyKTV点歌系统
    KTV音乐播放的实现
    继承与多态之汽车租赁系统
    使用集合组织相关数据
    用户登陆及异常的处理
    oracle函数详解
    Java中的多线程
    JAVA Map集合框架的使用
    Java中迭代器初深
  • 原文地址:https://www.cnblogs.com/cxx8181602/p/8603276.html
Copyright © 2011-2022 走看看