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实现javascript的escape和unescape函数
Jun 29 PHP
如何使用“PHP” 彩蛋进行敏感信息获取
Aug 07 PHP
PHP文件读取功能的应用实例
May 08 PHP
php实现的用户查询类实例
Jun 18 PHP
使用PHP生成图片的缩略图的方法
Aug 18 PHP
实例讲解yii2.0在php命令行中运行的步骤
Dec 01 PHP
编写PHP脚本来实现WordPress中评论分页的功能
Dec 10 PHP
PHP正则表达式入门教程(推荐)
May 18 PHP
yii通过小物件生成view的方法
Oct 08 PHP
ThinkPHP 模板引擎使用详解
May 07 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
在laravel框架中使用model层的方法
Oct 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
随机头像PHP版
2006/10/09 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
2011/06/28 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
jQuery自定义元素右键点击事件(实现案例)
2017/04/28 jQuery
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
vue组件之间数据传递的方法实例分析
2019/02/12 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
python检测远程端口是否打开的方法
2015/03/14 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
python用户管理系统
2018/03/13 Python
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
python中的常量和变量代码详解
2018/07/25 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
英国皇家造币厂:The Royal Mint
2018/10/05 全球购物
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
如何保障Web服务器安全
2014/05/05 面试题
护士在校生自荐信
2014/02/01 职场文书
校园广播稿500字
2014/02/04 职场文书
五型班组建设方案
2014/02/10 职场文书
情况说明书格式范文
2014/05/06 职场文书
2016教师国培研修感言
2015/12/08 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android
前端使用svg图片改色实现示例
2022/07/23 HTML / CSS