yii2导出.csv格式表格

1composer.jsonrequire项加上    "m35/thecsv": "*"

然后执行    php require  m35/thecsv


2、参数列表

(1)string类型:直接指定表名称,下载该表所有数据,自动生成表字段名称。

(2)array类型:

table:数据表名称 (string)

fields:要导出的表字段(array)

exceptFields:是否是排除字段模式,默认false(bool)

header:自定义表头(array)

condition:导出表条件(mixed)请参考http://www.yiiframework.com/doc-2.0/yii-db-query.html#where()-detail

limit:限制数量(int)

offset:偏移(int)

orderby:排序(mixed)请参考http://www.yiiframework.com/doc-2.0/yii-db-querytrait.html#orderBy()-detail

name:自定义文件名(string)

sql:自定义SQL语句(string)

bind:与sql结合绑定参数(array)

target:导出目录,如果设置target,则默认行为由下载变为保存文件到服务器(string)

fp:直接导出数据到指定的资源(resource)

data:自定义导出数据(array)

queryYii2框架Query类型对象(yii\db\Query)请参考http://www.yiiframework.com/doc-2.0/yii-db-query.html

readerYii2框架DataReader类型对象(yii\db\DataReader)请参考http://www.yiiframework.com/doc-2.0/yii-db-datareader.html

                       


3、使用示例

(1)string类型,后面的use不写出来了,只写第一个,下同

use m35\thecsv\theCsv;
theCsv::export('tableName');

(2)array类型

导出数据表完整数据

theCsv::export('user');
导出user表的用户名和密码

theCsv::export([
    'table' => 'user',
    'fields' => ['username', 'password'],
]);
导出user表除status字段外的所有数据

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

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

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

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

theCsv::export([
    'table' => 'user',
    'fields' => ['username', 'password'],
    'header' => 'no',
]);
导出user表有效用户,使用condition,condition请参考http://www.yiiframework.com/doc-2.0/yii-db-query.html#where()-detail
theCsv::export([
    'table' => 'user',
    'condition' => ['status' => 1],
]);
导出user表有效用户,使用orderby和limit
theCsv::export([
    'table' => 'user',
    'condition' => ['status' => 1],
    'orderby' => 'id DESC',
    'limit' => 10,
]);
自定义SQL
theCsv::export([
    'sql' => 'SELECT * FROM user',
]);
自定义SQL,绑定参数
theCsv::export([
    'sql' => 'SELECT * FROM user WHERE id = :id AND status = :status',
    'bind' => [':id' => 1, ':status' => 1],
]);
使用Query
theCsv::export([
    'query' => (new \yii\db\Query)->from('user'),
]);
使用reader   
theCsv::export([
    'reader' => \Yii::$app->getDb()->createCommand('SELECT * FROM user')->query(),
]);

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

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


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

$fp = fopen('./data.csv', 'w');
theCsv::export([
    'data' => [
        ['a', 'b', 'c'],
        ['A', 'B', 'C'],
    ],
    'fp' => $fp,    // 如果指定fp资源,则默认行为从下载变为直接写入该资源
]);

转自:http://www.yiichina.com/extension/464

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值