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编程中字符串处理的5个技巧小结
Nov 13 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
Oct 20 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
Oct 26 PHP
浅析php设计模式之数据对象映射模式
Mar 03 PHP
PHP的Yii框架中Model模型的学习教程
Mar 29 PHP
php求数组全排列,元素所有组合的方法总结
Mar 14 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
php如何把表单内容提交到数据库
Jul 08 PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 PHP
PHP 加密 Password Hashing API基础知识点
Mar 02 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
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
php gzip压缩输出的实现方法
2013/04/27 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
php分页代码学习示例分享
2014/02/20 PHP
php去除数组中重复数据
2014/11/18 PHP
php实现遍历目录并删除指定文件中指定内容
2015/01/21 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
PHP htmlentities()函数用法讲解
2019/02/25 PHP
用JQuery调用Session的实现代码
2010/10/29 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
在Tensorflow中查看权重的实现
2020/01/24 Python
通过cmd进入python的步骤
2020/06/16 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
HTML5拖放API实现自动生成相框功能
2020/04/07 HTML / CSS
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
工程专业应届生求职信
2014/02/19 职场文书
最经典的商业地产项目广告词
2014/03/13 职场文书
劲霸男装广告词
2014/03/21 职场文书
小班下学期评语
2014/05/04 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
幼儿园秋季开学通知
2015/07/16 职场文书