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

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

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

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

示例demo:

 <?php
/**
* 导出数据
* @return [type] [description]
*/
function actionIncome()
{
//$data数据结构二维数组
$data= [
[
'date'=>'20170501',
'channel_id'=>'888888888888'."\t",
'game'=>'test',
'fee'=>'10.00',
]
]; $csvData = ''.','.''.','.'统计日报'."\n";
$csvData .= '日期,渠道id,游戏,收入' . "\n";
foreach ($data as $record) {
$tmp = array(
$record['date'],
$record['channel_id'],
$record['game'],
$record['fee'],
); $csvData .= implode(',', $tmp) . "\n";
}
exportCsv('统计.csv', $csvData);
} /**
* 导出csv文件
* @param [type] $filename [description]
* @param [type] $data [description]
* @return [type] [description]
*/
function exportCsv($filename, $data)
{
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=".$filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo iconv("UTF-8", "GBK//TRANSLIT", $data);
exit();
}
echo actionIncome();

解决如下图结果:

最新文章

  1. 20145223《信息安全系统设计基础》 GDB调试汇编堆栈过程分析
  2. Properties类的使用方法
  3. zoj3551 Bloodsucker ——概率DP
  4. mvvm 模式
  5. perl编程中的map函数示例
  6. android 沉浸通知栏
  7. react-redux原理
  8. linux安装php遇到的问题
  9. sharepoint代码添加WebPart
  10. MVC工作流程
  11. Struts2标签:checkboxlist
  12. vue实现双向数据绑定的原理
  13. slim.arg_scope中python技巧
  14. vue起步和模板語法
  15. P1613 跑路(倍增 + floyd)
  16. c语言中printf()函数中的参数计算顺序
  17. socket.io的connect连接时不断的进行自动连接,并产生错误net::ERR_EMPTY_RESPONSE
  18. Oracle 临时表创建及删除
  19. Mysql 数据库系列
  20. LOJ121 【离线可过】动态图连通性

热门文章

  1. CodeIgniter 技巧 - 通过 Composer 安装 CodeIgniter 框架并安装依赖包
  2. 应用安全-工具使用-Burpsuite
  3. Maximum Subarray(最大连续子序列和)
  4. 清除mac中自动记录的git用户名和密码
  5. [BZOJ 3991][SDOI2015]寻宝游戏(dfs序)
  6. Leetcode Lect1 String相关题目
  7. 【学习总结】java数据结构和算法-第二章-数据结构和算法概述
  8. 独立成分分析(Independent Component Analysis)
  9. valueOf()对象返回值
  10. ViewMode