php导出数据为CSV文件DEMO

代码示例:

    private function _download_send_headers($filename) {
        // disable caching
        $now = gmdate("D, d M Y H:i:s");
        header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
        header("Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate");
        header("Last-Modified: {$now} GMT");

        // force download
        header("Content-Type: application/force-download");
        header("Content-Type: application/octet-stream");
        header("Content-Type: application/download");

        // disposition / encoding on response body
        header("Content-Disposition: attachment;filename={$filename}");
        header("Content-Transfer-Encoding: binary");
    }

    private function _array2csv($array) {
        if (count($array) == 0) {
            return null;
        }
        $keys = array_keys(reset($array));
        echo implode(‘,‘, $keys) . PHP_EOL;
        for ($i = 0, $j = count($array); $i < $j; $i++) {
            echo implode(‘,‘, $array[$i]) . PHP_EOL;
        }
    }

    public function saveAsCsv() {
            $this -> _download_send_headers("adonads_data_export_" . date("Y-m-d") . ".csv");
            $ret = array(
                array(
                    ‘id‘ => 1,
                    ‘name‘ => ‘hello‘
                ),
                array(
                    ‘id‘ => 2,
                    ‘name‘ => ‘world‘
                ),
                array(
                    ‘id‘ => 3,
                    ‘name‘ => ‘good‘
                ),
            );
            $this -> _array2csv($ret);
            die();
    }

当然还有用fputcsv的,但我试了一下效果不太好。

时间: 2024-10-07 11:32:13

php导出数据为CSV文件DEMO的相关文章

PHP导出数据到CSV文件函数/方法

如果不清楚什么是CSV文件,可看如下文章介绍  CSV格式的是什么文件?CSV是什么的缩写? /** * 导出数据到CSV文件 * @param array $data 数据 * @param array $title_arr 标题 * @param string $file_name CSV文件名 */ function export_csv(&$data, $title_arr, $file_name = '') { ini_set("max_execution_time"

mysql 导出数据到csv文件的命令

1.导出本地数据库数据到本地文件 mysql -A service_db -h your_host -utest -ptest mysql> select * from t_apps where created>'2012-07-02 00:00:00' into outfile /tmp/apps.csv 2.导出远程数据库数据到本地文件 mysql -A service_db -h your_host -utest -ptest -ss -e "SELECT * from t_a

MySQL导出数据到csv文件

select * from users into OUTFILE 'F:/Develop/MySQL57/Uploads/users.csv' CHARACTER SET utf8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\r\n'; 说明:数据格式化:关于数据格式化的问题,需要给导出的字段传递一些参数, 这个参数是根据RFC4180文档设置的,该文档

Oracle通过PL/SQL Developer导出数据为CSV格式,VARCHAR2类型的字段如果存入的是数值(例如3307830000004059)太长,最后一位会被置为0

问题描述: Oracle通过PL/SQL Developer导出数据为CSV格式,VARCHAR2类型的字段如果存入的是数值(例如3307830000004059)太长,CSV文件该列会用科学计数法表示,即使选择该列,点击数据--.>分列,固定宽度,列数据格式选择文本,最后一位仍然会被置为0. 解决方法: Oracle通过PL/SQL Developer导出数据为CSV格式,新建一个Excel文件,点击数据-->自文本,选择之前导出的CSV文件,文件类型分隔符号,选择逗号,[选中所有列],然后

CodeIgniterCodeigniter+PHPExcel导出数据到Excel文件

解压压缩包里的Classes文件夹中的内容到application\libraries\目录下,目录结构如下:--application\libraries\PHPExcel.php--application\libraries\PHPExcel(文件夹)修改application\libraries\PHPExcel\IOFactory.php文件--将其类名从PHPExcel_IOFactory改为IOFactory,遵从CI类命名规则.--将其构造函数改为public $this->loa

Jsoup学习笔记9:Jsoup 解析saz文件,读取其中的htm文件到字符串,提取字符串中的数据写入csv文件中

本篇笔记将上篇笔记的操作做些改进,不再把saz文件中的htm文件解析出来,而是不解压直接读取其中的数据成字符串,基本思路如下: 1.自定义一个从文本文件读取内容到字符串的类:解析saz文件中的htm文档,将文件的内容读取到字符串中 2.自定义利用Jsoup解析htm字符串的类:利用Jsoup解析传入的htm字符串,将解析结果写入csv文件中 3.解析时,指定好文件路径,直接调用上面的两个工具类即可 示例代码如下: package com.daxiang.saztest; /** * 自定义一个从

mysql导出数据至指定文件的命令

根据查询语句,导出数据至指定文件SELECT name INTO OUTFILE '/tmp/result.txt' FIELDS TERMINATED BY '-|-' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table_name; FIELDS TERMINATED BY 表示指定字段分隔符OPTIONALLY ENCLOSED BY 表示指定字段包围符号LINES TERMINATED BY 表示指定行与行分隔符 m

用php导入10W条+ 级别的csv大文件数据到mysql。导出10W+级别数据到csv文件

转自:http://blog.csdn.net/think2me/article/details/12999907 1. 说说csv 和 Excel 这两者都是我们平时导出或者导入数据一般用到的载体.两者有什么区别呢?csv 格式更兼容一点.那么共同点都是GBK格式的,非UTF8.所以我们上传文件的时候,老是出现乱码,就是编码问题没有转好导致. 2. 推荐的几种方法 1. 函数 fgetss($handel);  返回字符串.它就是strip_tags(fget($handel))的组合读取cs

批量导出表数据到CSV文件

需求:把oracle数据库中符合条件的N多表.导出成csv文本文件.并以表名.csv为文件名称存放. 实现:通过存储过程中UTL_FILE函数来实现.导出的csv文件放入提前创建好的directory中. 用法:使用下面命令数据预运行的SQL脚本 SELECT 'EXEC sql_to_csv(''select * from ' ||T.TABLE_NAME || ''',''OUT_PUT_CSV''' || ',''ODS_MDS.' || T.TABLE_NAME || '.csv'');