php导出csv格式数据并将数字转换成文本的思路以及代码分享


Posted in PHP onJune 05, 2014

php导出csv格式数据实现:
先定义一个字符串 存储内容,例如
 $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."\n";

然后对需要保存csv的数组进行foreach循环,例如

              if (!empty($lists)){
                  foreach($lists as $key => $value){
                    $time = date("Y-m-d_H:i:s", $value['add_time']);
                    $exportdata .= "\"\t".$value['Rule_id']."\",\"\t".$value['Rule_name']."\",\"\t".$value['Matching_level']."\",\"\t"."{$value['Rule_action']}"."\",\"\t".$value['Service_type']."\",\"\t".$value['Keyword1']."\",\"\t".$value['Keyword2']."\",\"\t".$value['Keyword3']."\",\"\t".$value['Matching_word']."\",\"\t".$value['Set_time']."\",\"\t".$value['Validation_time']."\"\n";
                  }
              }

csv格式的内容用','隔开,在现实的时候就能分格了。每一行后面就一个'\n'就能分行了。

然后在后面执行输出就行了。例如

              $filename = "plcnetinfo_{$date}.csv";              header("Content-type:application/vnd.ms-excel");
              header("Content-Disposition: attachment; filename=$filename");

              header("Expires: 0");
              header("Pragma: public");
              header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
              header("Cache-Control: public");
              echo(mb_convert_encoding($exportdata,"gb2312","UTF-8"));

但是在导出数字的时候csv就会把前面的0去掉,例如 我想显示 00001   ,如果输出的话就会显示1.这种解决办法就是在输出的时候就一个'\"\t',这个是制表符,会显示成空格。就能把数值转化成文本了。不过在导入的时候会出现'"    '.这种东西,用一下php自带的trim函数就好了。完整代码如下:

              
              //var_dump($sql);
              $lists = $this->dbo->query($sql);
 

  $exportdata = '规则111,规则222,审222,规222,服2222,规则1,规则2,规则3,匹配字符,设置时间,有效期'."\n";
              $date = date("YmdHis");
              if (!empty($lists)){
                  foreach($lists as $key => $value){
                    $time = date("Y-m-d_H:i:s", $value['add_time']);
                    $exportdata .= "\"\t".$value['Rule_id']."\",\"\t".$value['Rule_name']."\",\"\t".$value['Matching_level']."\",\"\t"."{$value['Rule_action']}"."\",\"\t".$value['Service_type']."\",\"\t".$value['Keyword1']."\",\"\t".$value['Keyword2']."\",\"\t".$value['Keyword3']."\",\"\t".$value['Matching_word']."\",\"\t".$value['Set_time']."\",\"\t".$value['Validation_time']."\"\n";
                  }
              }
              $filename = "plcnetinfo_{$date}.csv";
              header("Content-type:application/vnd.ms-excel");
              header("Content-Disposition: attachment; filename=$filename");
              header("Expires: 0");
              header("Pragma: public");
              header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
              header("Cache-Control: public");
              echo(mb_convert_encoding($exportdata,"gb2312","UTF-8"));
PHP 相关文章推荐
实用函数4
Nov 08 PHP
php中根据某年第几天计算出日期年月日的代码
Feb 24 PHP
php学习笔记 [预定义数组(超全局数组)]
Jun 09 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
Nov 02 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
Jul 29 PHP
PHP has encountered a Stack overflow问题解决方法
Nov 03 PHP
PHP实现的简单mock json脚本分享
Feb 10 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
PHP根据图片色界在不同位置加水印的方法
Jul 01 PHP
WordPress中查询文章的循环Loop结构及用法分析
Dec 17 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
Oct 15 PHP
php 购物车完整实现代码
Jun 05 #PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 #PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 #PHP
利用谷歌 Translate API制作自己的翻译脚本
Jun 04 #PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
Jun 04 #PHP
PHP 如何获取二维数组中某个key的集合
Jun 03 #PHP
PHP 二维数组根据某个字段排序的具体实现
Jun 03 #PHP
You might like
基于PHP编程注意事项的小结
2013/04/27 PHP
可以用来调试JavaScript错误的解决方案
2010/08/07 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
javascript中取前n天日期的两种方法分享
2014/01/26 Javascript
jQuery实现带滚动线条导航效果的方法
2015/01/30 Javascript
jQuery点缩略图弹出层显示大图片
2015/02/13 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
Javascript实现前端简单的路由实例
2016/09/11 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
2017/04/20 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
vue基于Element构建自定义树的示例代码
2017/09/19 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
详解python之多进程和进程池(Processing库)
2017/06/09 Python
[原创]python爬虫(入门教程、视频教程)
2018/01/08 Python
Python字典遍历操作实例小结
2019/03/05 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
python 子类调用父类的构造函数实例
2020/03/12 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
档案接收函范文
2014/01/10 职场文书
小学教师节活动方案
2014/01/31 职场文书
工作岗位说明书模板
2014/05/09 职场文书
新法人代表任命书
2014/06/06 职场文书
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
运动会报道稿300字
2014/10/02 职场文书
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫