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 特殊字符处理函数
Sep 05 PHP
PHP 常用函数库和一些实用小技巧
Jan 01 PHP
php删除文件夹及其文件夹下所有文件的函数代码
Jan 23 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
Oct 20 PHP
php简单压缩css样式示例
Sep 22 PHP
php版微信小店调用api示例代码
Nov 12 PHP
PHP命令空间namespace及use的用法小结
Nov 27 PHP
PHP实现的最大正向匹配算法示例
Dec 19 PHP
PHP实现正则表达式分组捕获操作示例
Feb 03 PHP
PHP耦合设计模式实例分析
Aug 08 PHP
PHP 并发场景的几种解决方案
Jun 14 PHP
PHP实现时间日期友好显示实现代码
Sep 08 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
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
9个javascript语法高亮插件 推荐
2009/07/18 Javascript
JS读取cookies信息(记录用户名)
2012/01/10 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
jQuery实现平滑滚动的标签分栏切换效果
2015/08/28 Javascript
javascript self对象使用详解
2016/10/18 Javascript
详解vue-cli下ESlint 配置说明
2018/09/03 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
js 数组当前行添加数据方法详解
2020/07/28 Javascript
[12:21]VICI vs TNC (BO3)
2018/06/07 DOTA
[32:07]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第一场 12.16
2020/12/17 DOTA
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
解决PyCharm中光标变粗的问题
2017/08/05 Python
python3库numpy数组属性的查看方法
2018/04/17 Python
Python实现的计算器功能示例
2018/04/26 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
python -v 报错问题的解决方法
2020/09/15 Python
iRobot官网:改变生活的家用机器人品牌
2016/09/20 全球购物
护士求职推荐信范文
2013/11/23 职场文书
大学生活动策划方案
2014/02/10 职场文书
运动会演讲稿50字
2014/08/25 职场文书
学习十八大宣传标语
2014/10/09 职场文书
工作检讨书怎么写
2014/10/10 职场文书
2014年工人工作总结
2014/11/25 职场文书
办公用品质量保证书
2015/05/11 职场文书
学籍证明模板
2015/06/18 职场文书
Python 如何将integer转化为罗马数(3999以内)
2021/06/05 Python