public function doworks(){
        //输出Excel文件头,可把user.csv换成你要的文件名
        header('Content-Type: application/vnd.ms-excel');
       header('Content-Disposition: attachment;filename="user.csv"');
      header('Cache-Control: max-age=0');
        header("Content-type: text/html; charset=utf-8");
        // 打开PHP文件句柄,php://output 表示直接输出到浏览器
        $fp = fopen('php://output', 'a');
        //输出Excel列名信息
        $head = array('商品名字', '商品_id', '商品—version', '商品—ad');
        $mm = M('home_product_on');
        $stmt= $mm->query("select product_name,product_id,version_id,product_ad  from __TABLE__ limit 100" );

// CSV的Excel支持GBK编码,一定要转换,否则乱码
        foreach($head as $i=> $v){
         //   $head[$i] = iconv('utf-8','gbk',$v);
        }

$i=0;
        foreach($stmt as  $val){
            $stmt[$i]['version_id'] ='\''.$val['version_id'].'\'';
          $i++;
        }

$cnt=0;// 计数器
       $limit=100000;// 每隔$limit行,刷新一下输出buffer,不要太大,也不要太小
        fputcsv($fp, $head);//将数据通过fputcsv写到文件句柄
        //逐行取出数据,不浪费内存

// while($row = $stmt->fetch(Zend_Db::FETCH_NUM)){
           foreach($stmt as $row){

$cnt ++;
           if($limit == $cnt){//刷新一下输出buffer,防止由于数据过多造成问题
               ob_flush();
                flush();
               $cnt = 0;
           }
           foreach($row as $i => $v){
             //  $row[$i] = iconv('utf-8', 'gbk', $v);
            }

fputcsv($fp, $row);
        }

}

php 导出csv的更多相关文章

  1. JSON导出CSV中文乱码解决方案

    前言 以往datagrid导出数据全部在后台搞定,现在就想换中思路去解决,正常情况下使用easyui datagrid ajax获取数据源时都是json格式,那么此时需要导出数据时只要把该数据源扔出来 ...

  2. 导出csv文件示例

    导出csv文件示例 csv文件默认以英文逗号,做为列分隔符换行符\n作为行分隔符,写入到一个.csv文件即可.含有英文逗号,和换行符会发生数据输出会出现混乱,下面列出一些处理方法.特殊字符处理1.含有 ...

  3. php使用ajax导出CSV或者EXCEl(thinkphp)方法

    首先我强烈推荐看到这篇文章的你将导出文件设置为csv格式的文件 实际测试导出csv文件的速度是excel文件的10几倍左右 首先我先介绍csv文件的导出的方法: 如果你单纯是在数据导出界面上通过用户点 ...

  4. Web端导出CSV

    前端导出文件大部分还是通过服务器端的方式生成文件,然后传递到客户端.但很多情况下当我们导出CSV时并不需要后端参与,甚至没有后端. 做过WebGIS的同学经常会碰到这种场景,用户的兴趣点数据以csv文 ...

  5. 解决PHP下导出csv乱码小记

    我们之前都是使用PHPexcel导出我们的一些数据的,由于Phpexcel对导出超出1万条数据会导至超时和内存暴涨,后来我们就改用数据导出成csv格式的. 相信很多朋友们在用PHP导出csv文件时都遇 ...

  6. C#导出csv文件 支持中文的解决方案

    #region 导出CSV下载 string exportFileName = "Export" + DateTime.Now.ToString("yyyyMMddHHm ...

  7. OAF_文件系列2_实现OAF导出CSV格式文件ExportButton(案例)

    20150727 Created By BaoXinjian

  8. 使用PHP导入和导出CSV文件

    我们先准备mysql数据表,假设项目中有一张记录学生信息的表student,并有id,name,sex,age分别记录学生的姓名.性别.年龄等信息. CREATE TABLE `student` ( ...

  9. Magcodes.WeiChat——通过CsvFileResult以及DataAnnotations实现导出CSV文件

    我们先来看看效果图: 从上图中可以看出,导出的文件中列名与表格名称保持一致,并且忽略了某些字段. 相关代码实现 我们来看相关代码: 页面代码: @using (Html.BeginForm(" ...

  10. springMVC导出 CSV案例

    导出csv 第一步 Controller类里调用 OrderParamsVo 传入的参数 orderService.findBuyCSV 查询到要导出的信息 /** * 购买订单CSV * Order ...

随机推荐

  1. Report_报表中Ref Cursor数据源的概念和用法(案例)

    2014-06-22 Created By BaoXinjian

  2. [ActionScript 3.0] AS3 深入理解Flash的安全沙箱Security Domains

    简介 如果你还没有与复杂的的安全域(security domain)和应用程序域(application domain)问题打过交道,那么你真是个幸运的家伙.当你在加载外部内容(然后他们开始播放)的时 ...

  3. ArcGIS Engine 图层裁剪 Clip的实现方法

    方法一, 图层对图层裁剪,输出图层 ILayer pLayer; IFeatureLayer pFeatureLayer; IFeatureClass pFeatureClass; IWorkspac ...

  4. [SQL]多列的行转列

    create table t(name varchar(),subject varchar(),mark int) insert into t union all union all union al ...

  5. C Primer Plus(第五版)10

    第 10 章 数组和指针 在本章中你将学习下列内容: · 关键字: static (静态) · 运算符: & * (一元) · 创建与初始化数组的方法. · 指针(基于已学的基础知识)及指针和 ...

  6. nyoj 90 整数划分

    点击打开链接 整数划分 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 将正整数n表示成一系列正整数之和:n=n1+n2+-+nk,  其中n1≥n2≥-≥nk≥1,k≥ ...

  7. BC之Run

    Problem Description AFA is a girl who like runing.Today,he download an app about runing .The app can ...

  8. 自动生成Makefile时,关于Makefile.am编写

    最近编译一个项目的程序时,二十几个源代码文件放在六个文件夹中,而且各个文件中头文件互相包含.以前写过编译这样组织的源码的makefile,所以这次也就直接写了. 确实因为各个文件间的头文件互相包含,造 ...

  9. JAVA设计模式之依赖倒转原则

    3.1 依赖倒置原则的定义 依赖倒置原则(Dependence Inversion Principle,简称DIP)这个名字看着有点别扭,“依赖”还“倒置”,这到底是什么意思?依赖倒置原则的原始定义是 ...

  10. 剑指Offer:面试题3——二维数组中的查找(java实现)

    问题描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 思路:取数组中的元素与 ...