数据导出实现步骤:

      1.查找出要导出的数据,整理为二维数组。

      2.定义导出表格的字段

      3.将整理的二维数组按导出表格定义的字段重新整理。

      4.将整理的二维数组写入服务器中已有的一个.csv文件。

      5.用封装好的方法将其下载下来。

具体代码:   

//定义导出字段
$a_a=array();
$b_a=array("姓名","手机","公司","身份证");
foreach ($b_a as $key => $v) {
//以gbk的编码方式编码,防止乱码
$b_a[$key]=mb_convert_encoding($v,"gbk");
}
$a_a[]=$b_a;
//数据库查找要导出的数据
$table_name="yijiu_members";
$info_list=ugv::mod($table_name)->query("select * from oho_".$table_name." $_search_s order by id desc ")->result_array();
foreach($info_list as $row ){
//导出身份证号码时,将其以字符串的形式导出,不然表格会将身份证号码以科学计数法的形式表示,且出现错误
$row["idcard"]="'".$row["idcard"]."'";
$b_a=array($row['isname'],$row['ismobile'],$row["iscompany"],$row["idcard"]);
foreach ($b_a as $key => $v) {
$b_a[$key]=mb_convert_encoding($v,"gbk");
}
$a_a[]=$b_a;
}
$fh = fopen(ROOT_PATH.'files/tmp/2.csv','w');
//遍历将数据写入csv文件
foreach ($a_a as $a) {
if (fputcsv($fh, $a) === false) {
die("Can't write CSV line");
}
}
fclose($fh);
$name="yijiumembers.csv";
//用封装好的方法将文件下载下来
files::down(ROOT_PATH.'files/tmp/2.csv',$name);

实现数据导出为.csv表格的更多相关文章

  1. 将mysql数据库的数据导出做成excl表格通过邮件发送附件发给指定人

    mysql数据库的数据导出成excl表 方法一: mysql -uroot -p123456 -e “select *.* from 表 into outfile ‘文件路径.xls’into out ...

  2. 数据导出为excel表格

    ---恢复内容开始--- 方式一: 通过request和response中携带的数据导出表格,导出的结果会将页面中展示的内容全部导出.代码如下: //调出保存框,下载页面所有内容 String fil ...

  3. asp.net数据导出到excel表格,并设置表格样式

    1.首先在项目中添加引用

  4. QTableWidget 导出到csv表格

    跳槽到了新的公司,开始苦逼的出差现场开发,接触到了新的应用.有很多应用需要将Table导出成表格,可以把table导出成csv格式的文件.跟大伙分享一下: lass TableToExcle : pu ...

  5. hive表数据导出到csv乱码原因及解决方案

    转载自http://blog.csdn.net/lgdlxc/article/details/42126225 Hive表中的数据使用hive - e"select * from table ...

  6. es实战之数据导出成csv文件

    从es将数据导出分两步: 查询大量数据 将数据生成文件并下载 本篇主要是将第二步,第一步在<es实战之查询大量数据>中已讲述. csv vs excel excel2003不能超过6553 ...

  7. Elasticsearch:如何把Elasticsearch中的数据导出为CSV格式的文件

    本教程向您展示如何将数据从Elasticsearch导出到CSV文件. 想象一下,您想要在Excel中打开一些Elasticsearch中的数据,并根据这些数据创建数据透视表. 这只是一个用例,其中将 ...

  8. 一个php将数据库的数据导出到excle表格中的小dome

    首先我们需要下载个PHPExcel,PHPExcel下载地址链接:https://pan.baidu.com/s/1nxpAc45 密码:qgct 下面来写个dome: <?php //把数据写 ...

  9. vue.js纯前端处理如何将后台返回来的csv数据导出成csv文件

    需要实现一个下载csv文件的功能,但后台没有对这个下载文件进行处理,而是将csv数据传给前台而已,需要前台做一下处理. 这是按钮的代码: <a> <el-button size=&q ...

随机推荐

  1. loadrunner controller如何执行测试

    使用Virtual User Generator编写需要测试的脚本   打开controller,在左侧的available scripts里选择需要测试的脚本添加(Add)到scripts in s ...

  2. Forth 语言概要 - Forth: An underview

    Forth 语言概要 - Forth: An underview 原作者 Peter Knaggs 原文标题< Forth: An underview > 译者: 未知 译文链接: htt ...

  3. JavaScript 无刷新修改浏览器URL地址栏

    //发现地址栏已改为:newUrlvar stateObject = {}; var title = "Wow Title"; var newUrl = "/my/awe ...

  4. Java——集合

    Java的集合类是一种非常有用的工具类,用于存储多个对象.它是一个容器,可以把多个对象放到里面. Java集合分三种情况: Set:无序.不可重复 List:有序.可重复 Map:具有映射关系 Col ...

  5. Linux下创建C函数库

    http://blog.163.com/hitperson@126/blog/static/130245975201151552938133 http://blog.sina.com.cn/s/blo ...

  6. SpringBoot整合定时任务和异步任务处理 3节课

    1.SpringBoot定时任务schedule讲解   定时任务应用场景: 简介:讲解什么是定时任务和常见定时任务区别 1.常见定时任务 Java自带的java.util.Timer类        ...

  7. Java 注解 (Annotation)你可以这样学

    注解语法 因为平常开发少见,相信有不少的人员会认为注解的地位不高.其实同 classs 和 interface 一样,注解也属于一种类型.它是在 Java SE 5.0 版本中开始引入的概念. 注解的 ...

  8. SpringMVC与Struts不同(五)

    springmvc与struts2不同 1.springmvc的入口是一个servlet即前端控制器,而struts2入口是一个filter过滤器. 2.springmvc是基于方法开发(一个url对 ...

  9. Linux内核驱动--硬件访问I/O【原创】

    寄存器与内存 寄存器与内存的区别在哪里呢? 寄存器和RAM的主要不同在于寄存器操作有副作用(side effect或边际效果): 读取某个地址时可能导致该地址内容发生变化,比如很多设备的中断状态寄存器 ...

  10. __ATTRIBUTE__ 知多少?

    GNU C 的一大特色就是__attribute__ 机制.__attribute__ 可以设置函数属性(Function Attribute ).变量属性(Variable Attribute )和 ...