php 封装原生数据导出的方法(csv文件格式)和csv文件中长数字自动变成科学计数法的处理
2024-10-19 12:35:32
如何解决上图长数字自动转换处理?
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();
解决如下图结果:
最新文章
- 20145223《信息安全系统设计基础》 GDB调试汇编堆栈过程分析
- Properties类的使用方法
- zoj3551 Bloodsucker ——概率DP
- mvvm 模式
- perl编程中的map函数示例
- android 沉浸通知栏
- react-redux原理
- linux安装php遇到的问题
- sharepoint代码添加WebPart
- MVC工作流程
- Struts2标签:checkboxlist
- vue实现双向数据绑定的原理
- slim.arg_scope中python技巧
- vue起步和模板語法
- P1613 跑路(倍增 + floyd)
- c语言中printf()函数中的参数计算顺序
- socket.io的connect连接时不断的进行自动连接,并产生错误net::ERR_EMPTY_RESPONSE
- Oracle 临时表创建及删除
- Mysql 数据库系列
- LOJ121 【离线可过】动态图连通性
热门文章
- CodeIgniter 技巧 - 通过 Composer 安装 CodeIgniter 框架并安装依赖包
- 应用安全-工具使用-Burpsuite
- Maximum Subarray(最大连续子序列和)
- 清除mac中自动记录的git用户名和密码
- [BZOJ 3991][SDOI2015]寻宝游戏(dfs序)
- Leetcode Lect1 String相关题目
- 【学习总结】java数据结构和算法-第二章-数据结构和算法概述
- 独立成分分析(Independent Component Analysis)
- valueOf()对象返回值
- ViewMode