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 fgetcsv 定义和用法(附windows与linux下兼容问题)
May 29 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
May 17 PHP
php set_include_path函数设置 include_path 配置选项
Oct 30 PHP
PHP不使用递归的无限级分类简单实例
Nov 05 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
php登录超时检测功能实例详解
Mar 21 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
Aug 16 PHP
phpinfo无法显示的原因及解决办法
Feb 15 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
Apr 02 PHP
laravel框架数据库配置及操作数据库示例
Oct 10 PHP
php实现文件上传基本验证
Mar 04 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
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
php二维码生成
2015/10/19 PHP
JScript中的"this"关键字使用方式补充材料
2007/03/08 Javascript
用javascript实现自定义标签
2007/05/08 Javascript
JavaScript入门教程(6) Window窗口对象
2009/01/31 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
JavaScript获取ul中li个数的方法
2017/02/13 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
Python Property属性的2种用法
2015/06/21 Python
Python守护进程和脚本单例运行详解
2017/01/06 Python
vscode 远程调试python的方法
2017/12/01 Python
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
Python实现使用卷积提取图片轮廓功能示例
2018/05/12 Python
python计算两个地址之间的距离方法
2018/06/09 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
Python的几种主动结束程序方式
2019/11/22 Python
Python函数生成器原理及使用详解
2020/03/12 Python
jupyter notebook的安装与使用详解
2020/05/18 Python
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
销售业务员岗位职责
2014/01/29 职场文书
给国外客户的邀请函
2014/01/30 职场文书
2014年党员创先争优承诺书
2014/05/29 职场文书
保护动物的标语
2014/06/11 职场文书
挂职学习心得体会
2014/09/09 职场文书
新年祝酒词大全
2015/08/11 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
python实现层次聚类的方法
2021/11/01 Python