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 地址栏信息的获取代码
Jan 07 PHP
php Undefined index的问题
Jun 01 PHP
frename PHP 灵活文件命名函数 frename
Sep 09 PHP
php设计模式  Command(命令模式)
Jun 17 PHP
PHP编码转换
Nov 05 PHP
解析csv数据导入mysql的方法
Jul 01 PHP
php随机显示图片的简单示例
Feb 15 PHP
php判断当前用户已在别处登录的方法
Jan 06 PHP
php递归遍历删除文件的方法
Apr 17 PHP
PHP请求远程地址设置超时时间的解决方法
Oct 29 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
Apr 01 PHP
Yii框架响应组件用法实例分析
Sep 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
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
javascript动态加载三
2012/08/22 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
javascript模块化简单解析
2016/04/07 Javascript
jQuery的each循环用法简单示例
2016/06/12 Javascript
jQuery实现字符串全部替换的方法
2016/12/12 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
angular4 如何在全局设置路由跳转动画的方法
2017/08/30 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
2018/04/22 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
python编写的最短路径算法
2015/03/25 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
python实现图书借阅系统
2019/02/20 Python
Python简单基础小程序的实例代码
2019/04/28 Python
python的debug实用工具 pdb详解
2019/07/12 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
俄罗斯在线大型超市:ТутПросто
2021/01/08 全球购物
工资收入证明样本(5篇)
2014/09/16 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书
护士业务学习心得体会
2016/01/25 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang
Python中else的三种使用场景
2021/06/16 Python
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫