最近出现了用php生成csv格式的excel表格时不能使用科学计数法的问题,后来百度找到了一个大神写的代码,发现可以运行成功,效果是我想要的;就复制一份下来。
转载原博客链接地址是:https://baijunyao.com/index.php/article/81
温馨提示:图片可以点击放大噢>_<
phpexcel有一个严重的缺点;那就是一个大大的“慢”字;
数据量小的时候还好;当数据量稍微大一点;
那生成excel的过程99.999%的时间都是在那看浏览器转圈了;
那有木有一个效率高点的呢?当然有了;而且非常简单;
贴代码;
php转为cvs格式代码 调用示例:其实原理很简单;就是以逗号作为每个单元格的分解;再以换行作为表格的换行;
最后生成csv格式的文件就可以了;
下载到本地后;直接以当text用记事本或者文本编辑器都可以直接打开编辑;
实际应用中数据一般是从数据库取出的二维数组;
应储的问题;更新下函数;以兼容二维数组;
同时可以直接指定表头;
兼容二维数组的代码但有个问题,就是如果导出的字段有时间戳时,就会出现样式有点小问题,如将时间戳格式化后的时间为:2017-01-01 11:12:13 ;但导出的cvs文件的时间字段显示出来的却是:2017-01-0111:12:13 ;
经过测试后,决定把上图“兼容二维数组的代码”的第30行注释掉;导出的文件的时间就会变成“2017/01/01 11:12” 但秒就不会显示出来;好吧,只能二选一:(,不能好好玩耍的节奏;但目前这个项目暂时不会太纠结秒,没有秒也不影响。
导出csv格式没法设置数据的格式;
这里给出一个方案;
可以在每个单元格后面追加一个看不见的tab制表符;
这样就不是数字格式;
也就不会被显示成科学计数法了;
不会被显示成科学计数法的代码再次感谢大神的分享
网友评论