yii2-thecsv(Yii2框架csv数据导出扩展)

github: https://github.com/13552277443/yii2-thecsv

1、安装

运行 php composer.phar require m35/thecsv

添加 "m35/thecsv": "*"

2、使用

<?php
use m35\thecsv\theCsv;
theCsv::export('tableName'); // return true if success

3、参数及示例

3.0、参数列表

3.0.1、string类型

直接指定表名称,下载该表所有数据,自动生成表字段名称。

3.0.2、array类型参数

3.1、示例:导出数据表(以user表为例子)

3.1.1、导出数据表完整数据

theCsv::export('user');

3.1.2、导出user表的用户名和密码

theCsv::export([
'table' => 'user',
'fields' => ['username', 'password'],
]);

3.1.3、导出user表除status字段外的所有数据

theCsv::export([
'table' => 'user',
'fields' => ['status'],
'exceptFields' => true,
]);

3.1.4、导出user表的用户名和密码,自定义表头

theCsv::export([
'table' => 'user',
'fields' => ['username', 'password'],
'header' => ['账户', '密码'],
]);

3.1.5、导出user表的用户名和密码,不要表头

theCsv::export([
'table' => 'user',
'fields' => ['username', 'password'],
'header' => 'no',
]);

3.1.6、导出user表有效用户,使用condition

theCsv::export([
'table' => 'user',
'condition' => ['status' => 1],
]);

condition请参考http://www.yiiframework.com/doc-2.0/yii-db-query.html#where()-detail

3.1.7、导出user表有效用户,使用orderby和limit

theCsv::export([
'table' => 'user',
'condition' => ['status' => 1],
'orderby' => 'id DESC',
'limit' => 10,
]);

3.1.8、自定义SQL

theCsv::export([
'sql' => 'SELECT * FROM user',
]);

3.1.9、自定义SQL,绑定参数

theCsv::export([
'sql' => 'SELECT * FROM user WHERE id = :id AND status = :status',
'bind' => [':id' => 1, ':status' => 1],
]);

3.1.10、使用Query

theCsv::export([
'query' => (new \yii\db\Query)->from('user'),
]);

3.1.11、使用reader

theCsv::export([
'reader' => \Yii::$app->getDb()->createCommand('SELECT * FROM user')->query(),
]);

3.2、示例:导出数据

theCsv::export([
'data' => [
['a', 'b', 'c'],
['A', 'B', 'C'],
],
]);

3.3、示例:其他

3.3.1

theCsv::export([
'data' => [
['a', 'b', 'c'],
['A', 'B', 'C'],
],
'name' => 'data.csv',
]);

3.3.2

theCsv::export([
'data' => [
['a', 'b', 'c'],
['A', 'B', 'C'],
],
'name' => 'data.csv', // 自定义导出文件名称
'target' => './', // 如果指定导出目录,则默认行为从下载变为保存到指定目录
]);

3.3.3

$fp = fopen('./data.csv', 'w');
theCsv::export([
'data' => [
['a', 'b', 'c'],
['A', 'B', 'C'],
],
'fp' => $fp, // 如果指定fp资源,则默认行为从下载变为直接写入该资源
]); 很全面哦原文地址:http://www.yiichina.com/extension/464

[moka同学摘录]Yii2 csv数据导出扩展的更多相关文章

  1. [moka同学摘录]Yii2.0开发初学者必看

    想要了解更多YII,PHP方面内容,请关注本博客. 基础总结 1.修改默认控制器/方法 yii默认是site控制器,可以在web.php中设置$config中的'defaultRoute'='xxxx ...

  2. [moka同学笔记]Yii2.0 modal的使用

    第一次使用,时候不明白什么原理,大概用了几次后,才模模糊糊搞清楚原来是怎么一回事,现在就把写过的代码,贴在下边. 1.在视图文件中, 第一步首先在index.php文件中 做了一个a链接的按钮 调用了 ...

  3. [moka同学笔记]yii2.0表单的使用

    1.创建model   /biaodan.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/08/05 * Tim ...

  4. [moka同学笔记]yii2.0缓存

    1.控制器中CacheDemoController.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/06/29 ...

  5. [moka同学笔记]yii2.0查询数据库

      一. [:id占位符]使用 $results = Test::findBySql($sql,array(':id'=>'1 or 1=1))->all()   二. [id=1]  选 ...

  6. Layui Excle/csv数据导出

    官方文档的数据是这样的 依赖 Layui 2.4版本以上 layui.use([ 'table'], function(){ var table=layui.table; table.exportFi ...

  7. [moka同学笔记]Yii2.0验证码

    1.Model中Code.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/07/25 * Time: 10:48 ...

  8. [moka同学笔记]yii2.0小物件的简单使用(第二种方法)

    1.在widgets/TestWidget.php中 <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/08/05 * T ...

  9. [moka同学笔记]yii2.0小物件的简单使用(第一种方法)

    这是第一种方法,还有另一种方法,其实都差不多. 1.在创建widgets\HelloWiget.php <?php /** * Created by PhpStorm. * User: Admi ...

随机推荐

  1. centos 7 中 tomcat 安装

    一. 安装 jdk [root@iZm5ei4m ~]# /usr/local/tomcat/bin/startup.sh 一.安装 jdk 二.设置环境变量 #################### ...

  2. Oracle数据库管理员面试题

    Oracle数据库管理员面试题 1.模拟使用oracle的flashback找回过去某个时间点的数据,实现误操作的恢复. http://www.txw100.com/soft/2013/08/547. ...

  3. CSS - Transform(Translate) abnormal shadow in firefox

    问题:当在Firefox中实现动画translate时,会出现虚影的状况: 经查找相关的解决方法,父容器添加样式:outline: 1px solid transparent;//即可解决问题. 但不 ...

  4. HTTP 头部详细解释

    HTTP 头部解释 ================================================   Accept 告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,ty ...

  5. bit操作 转

    http://www.catonmat.net/blog/low-level-bit-hacks-you-absolutely-must-know/ Bit Hack #6. Turn off the ...

  6. java之多态(Polymorphic)、动态绑定(Dynamic Binding)、迟绑定(Late Binding)

    今天,我们来说说java面向对象最核心的东西,多态.通过多态可以使我们的程序可复用性达到极致,这就是我们为什么要学多态的原因. “多态”(Polymorphic)也叫“动态绑定”(Dynamic Bi ...

  7. BZOJ 1001 [BeiJing2006] 狼抓兔子(平面图最大流)

    题目大意 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的.而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一个网格的地形: ...

  8. Java Struts2读取Excel 2003/2007/2010例子

    Java读写Excel的包是Apache POI(项目地址:http://poi.apache.org/),因此需要先获取POI的jar包,本实验使用的是POI 3.9稳定版. Apache POI ...

  9. Java Web学习系列——创建基于Maven的Web项目

    创建Maven Web项目 在MyEclipse for Spring中新建Maven项目 选择项目类型,在Artifact Id中选择maven-archetype-webapp 输入Group I ...

  10. 使用EntityFramwork[6.1]进行级联保存的时候出现异常

    出现的异常:System.InvalidOperationException: Multiplicity constraint violated. The role 'IncomeItem_Creat ...