加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP下载生成的csv文件及问题总结

发布时间:2020-05-23 20:17:34 所属栏目:PHP 来源:互联网
导读:CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记。CSV文件是个纯文本文件,每一行表示一张图片的许多属性。下面小编给大家介绍下PHP下载生成的csv文件及问题总结

最近做了一个项目需要把订单的信息显示出来,并且能够把相关信息放到一个.csv 文件中,下载到浏览器。虽然说csv是一种比较简单的excel表格形式,生成只要按指定格式然后生成.csv文件就可以,但是在使用中也会遇到很多问题,下面给大家分享下PHP下载csv文件及问题总结

首先大家先看个例子,生成csv文件并下载

php array生成csv文件

$val2) { $val[$key] = iconv('utf-8','gbk',$val2); // CSV的Excel支持GBK编码,一定要转换,否则乱码 } fputcsv($outputBuffer,$val); } fclose($outputBuffer); } ?>

解决 fgetcsv函数在php5.2.8 中的bug

环境linux

问题解析出来的数据不完整,有为空的字段

网上查了下说是在php5.2.8 中存在bug

解决办法是使用自定义函数

excel无法正确读取长度超过32K的CSV域问题 php 导出csv文件用excel打开后,产品表述字段分两行显示。 查看了下这个字段发现这个字段超过32K的字符,excel会把字符串打断成两行,如果小于32K,显示正常。 这是EXCEL的限制,目前还没有找到解决办法。 excel一个单元格最多是32767个字符。

解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题

PHP生成UTF-8编码的CSV文件用Excel打开中文显示乱码,是由于输出的CSV文件中没有BOM。

array('title'=>'test test test1'),'1'=>array('title'=>'test test test2'),'2'=>array('title'=>'test test test3') ) print(chr(0xEF).chr(0xBB).chr(0xBF)); //设置utf-8 + bom ,处理汉字显示的乱码 echo array2csv($items_data); function array2csv(array &$array) { if (count($array) == 0) { return null; } ob_start(); $df = fopen("php://output",'w'); fputcsv($df,array_keys(reset($array))); foreach ($array as $row) { fputcsv($df,$row); } fclose($df); return ob_get_clean(); } ?>

导出csv文件数字会自动变科学计数法的解决方法

用程序导出的csv文件,当字段中有比较长的数字字段存在时,在用excel软甲查看csv文件时就会变成科学技术法的表现形式。 其实这个问题跟用什么语言导出csv文件没有关系。Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法;如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0。 解决这个问题 只要把数字字段后面加上显示上看不见的字符即可,字符串结尾加上制表符"t". php 程序可以这样判断,注意一定是"t",不是't'.

代码如下:

以上代码内容就是本文实现PHP下载生成的csv文件及问题总结,希望大家喜欢。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读