yii2导出.csv格式表格

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

然后执行    php require  m35/thecsv



2、参数列表

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

(2)array类型:

table:数据表名称 (string)

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

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

header:自定义表头(array)

扫描二维码关注公众号,回复: 57876 查看本文章

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,
]);


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


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

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

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

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

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

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

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资源,则默认行为从下载变为直接写入该资源
]);


猜你喜欢

转载自blog.csdn.net/wuhuagu_wuhuaguo/article/details/80065471
今日推荐