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 相关文章推荐
简单PHP上传图片、删除图片实现代码
May 12 PHP
PHP array_flip() 删除重复数组元素专用函数
May 16 PHP
php中全局变量global的使用演示代码
May 18 PHP
php开发留言板的CRUD(增,删,改,查)操作
Apr 19 PHP
php 无法加载mcrypt.dll的解决办法
Apr 03 PHP
thinkphp 多表 事务详解
Jun 17 PHP
php在apache环境下实现gzip配置方法
Apr 02 PHP
Yii扩展组件编写方法实例分析
Jun 29 PHP
phpMyAdmin安装并配置允许空密码登录
Jul 04 PHP
ajax+php控制所有后台函数调用
Jul 15 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
ThinkPHP5和ThinkPHP6的区别
Mar 31 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对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
2013/06/21 PHP
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
Some tips of wmi scripting in jscript (1)
2007/04/03 Javascript
javascript的键盘控制事件说明
2008/04/15 Javascript
jQuery 性能优化手册 推荐
2010/02/23 Javascript
JavaScript 学习初步 入门教程
2010/03/25 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
2014/12/20 Javascript
javascript函数特点实例分析
2015/05/14 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
jquery实现搜索框功能实例详解
2018/07/23 jQuery
对Vue table 动态表格td可编辑的方法详解
2018/08/28 Javascript
vue2使用keep-alive缓存多层列表页的方法
2018/09/21 Javascript
JavaScript之实现一个简单的Vue示例
2019/01/17 Javascript
js实现轮播图特效
2020/05/28 Javascript
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
Python学习笔记(二)基础语法
2014/06/06 Python
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
解决django前后端分离csrf验证的问题
2019/02/03 Python
python实现图书借阅系统
2019/02/20 Python
python实现大文本文件分割
2019/07/22 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
html5教程画矩形代码分享
2013/12/04 HTML / CSS
英国运动风奢侈品购物网站:Maison De Fashion
2020/08/28 全球购物
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
经典毕业生求职信
2014/07/12 职场文书
华清池导游词
2015/02/02 职场文书
试用期自我评价范文
2015/03/10 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
职位证明模板
2015/06/23 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python