PHP 实现从数据库导出到.csv文件方法

PHP 实现从数据库导出到.csv文件方法

实现代码:

public function export(){ // 从数据库中获取数据,为了节省内存,不要把数据一次性读到内存,从句柄中一行一行读即可 // 输出Excel文件头,可把user.csv换成你要的文件名 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="order.csv"'); header('Cache-Control: max-age=0'); $where=array( "paid"=>1, "pay_type"=>array("NEQ","offline"), "status"=>array("lt",3), ); $stmt = M("Group_order")->field("order_id,order_name,num,price,total_money,contact_name,phone,zipcode,adress,wx_cheap,balance_pay,payment_money,tuan_type,pay_time,pay_type,third_id,is_mobile_pay,paid,status")->where($where)->order("order_id DESC")->limit(1000)->select(); // 打开PHP文件句柄,php://output 表示直接输出到浏览器 $fp = fopen('php://output', 'a'); // 输出Excel列名信息 $head = array("订单号","订单名称","购买数量","单价","总价","联系人姓名","联系人电话","邮编","详细地址","微信优惠金额","余额支付金额","真实支付金额","特卖类型(2为实物)","支付时间","支付类型","第三方支付id","是否是手机支付","是否支付","订单状态"); foreach ($head as $i => $v) { // CSV的Excel支持GBK编码,一定要转换,否则乱码 $head[$i] = iconv('utf-8', 'gbk', $v); } // 将数据通过fputcsv写到文件句柄 fputcsv($fp, $head); // 计数器 $cnt = 0; // 每隔$limit行,刷新一下输出buffer,不要太大,也不要太小 $limit = 500; // 逐行取出数据,不浪费内存 $count = count($stmt); for($t=0;$t<$count;$t++) { $cnt ++; if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题 ob_flush(); flush(); $cnt = 0; } $row = $stmt[$t]; foreach ($row as $i => $v) { if($i=='pay_time'){ $v=date("Y-m-d,H:i:s",$v); } $row[$i] = iconv('utf-8', 'gbk', $v); } fputcsv($fp, $row); } fclose($fp); }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-09-11 00:24:21

PHP 实现从数据库导出到.csv文件方法的相关文章

link环境下如何用codefirst将数据库导出成excel文件?codefirst可以导出么?

问题描述 link环境下如何用codefirst将数据库导出成excel文件?codefirst可以导出么? link环境下如何用codefirst将数据库导出成excel文件?codefirst可以导出么? 解决方案 这个和codefirst没关系,直接用npoi导出就可以了.

mysql命令模式导出导入csv文件代码

mysql> select * from tt_address; +-----+-----+--------+--------+------+--------+------------+-------------+------ -----+----------+-------+------------------------+-------+--------+-----+------- --+----------+------+---------+------+-----+--------+--

js-初接触dataTables。想将表格导出为csv文件,希望大神们帮帮忙!!

问题描述 初接触dataTables.想将表格导出为csv文件,希望大神们帮帮忙!! 下面是我初始化dataTable的代码 $('#sample-table-2') .dataTable( { bAutoWidth: false, "aoColumns": [ { "bSortable": false }, null, null,null, null, null,null, { "bSortable": false } ], "aaS

Laravel Excel导入导出Excel/CSV 文件例子

1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该项目的GitHub地址是:https://github.com/Maatwebsite/Laravel-Excel. 本文我们将在Laravel中使用Laravel Excel简单实现Excel文件的导入和导出. 2.安装&配置 使用Composer安装依赖 首先在Laravel项目根目录下使用Co

把数据库导出的sql文件解析为xml格式的

问题描述 就像主题说的,导出的sql文件,里面含有大量注释有--的还有/****/的不但要把注释里的重要信息解析出来,还要做很多东西.下面看我的图sql语句中间的注释也要清掉...求大神告诉我具体的思路,自己死磕太难受了 解决方案 解决方案二:这个事xml的图解决方案三:估计只有一行行的的通过注释啊等判断.比如注释开始结束.或者sql的update啊,delete开始啊,等.解决方案四:看不出你的sql脚本和你的xml有什么联系啊解决方案五:引用1楼u013146997的回复: 这个事xml的图

php将数据库导出成excel的方法_php技巧

上传cvs并导入到数据库中,测试成功(部分代码不规范,如PHP_SELF那里要改写成$_SERVER["PHP_SELF"] ) PHP代码 复制代码 代码如下: <?php $fname = $_FILES['MyFile']['name']; $do = copy($_FILES['MyFile']['tmp_name'],$fname); if ($do) { echo"导入数据成功<br>"; } else { echo "&qu

Android如何读写CSV文件方法示例

前言 本文主要给大家介绍的是关于Android读写CSV文件的相关内容,CSV也就是Comma-Separated Values逗号分隔的文本文件, 读写csv文件和读写普通文件类似:写的时候给数据之间添加上逗号. 设定存储路径和文件名: private static final String FILE_FOLDER = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "AboutVie

用jxl从数据库导出的excel文件是导出到本地还是导出到服务器

问题描述 如题,代码如下:package test;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStream; import java.io.IOException; import java.io.OutputStream; import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;imp

PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)_php实例

用php代码实现数据库备份可以使网站的管理变得非常便捷,我们可以直接进后台操作就能完成数据库的备份. 关键技术: 1. 首先要得到该数据库中有哪些表,所用函数 mysql_list_tables(),然后可以将获取的所有表名存到一个数组.2. show create table 表名 可以获取表结构.3. select * from 表名 取出所有记录,用循环拼接成 insert into... 语句. 实现代码: 复制代码 代码如下: <?php  header("Content-typ