myzero1 / export-big-stream
Export big data through data streams
v1.1.2
2023-12-01 06:43 UTC
Requires
- php: >=5.6.0
This package is not auto-updated.
Last update: 2024-12-13 11:29:37 UTC
README
介绍
Export big data through data streams
软件架构
软件架构说明
安装教程
- xxxx
- xxxx
- xxxx
使用说明
- 导出csv
$pdoCnf=[
'dsn' => 'mysql:host=localhost;dbname=mydbname',
'username' => '',
'password' => '',
];
\myzero1\export_big_stream\Z1export::saveCsv(
$pdoCnf,
'SELECT * FROM privilege limit 1000000',
[
[
'label' => 'id',
'attribute' => 'id',
],
[
'header' => '订单编号',
'attribute' => 'updated',
],
[
'header' => '扣点时间',
'value' => function ($row) {
return $row['created']."created";
},
],
[
'label' => '扣点时间',
'value' => function ($row) {
return $row['created']."created";
},
],
],
'测试',
60*1,
'科学计数法的处理方式'
);
- 导出zip
导出zip需要先安装 jdwil/zip-stream
composer require jdwil/zip-stream=0.1.3
https://packagist.org/packages/jdwil/zip-stream
https://github.com/jdwil/zip-stream
https://github.com/myzero1/zip-stream
\myzero1\export_big_stream\saveZip::saveCsv(
$pdoCnf,
'SELECT * FROM privilege limit 1000000',
[
[
'label' => 'id',
'attribute' => 'id',
],
[
'header' => '订单编号',
'attribute' => 'updated',
],
[
'header' => '扣点时间',
'value' => function ($row) {
return $row['created']."created";
},
],
[
'label' => '扣点时间',
'value' => function ($row) {
return $row['created']."created";
},
],
],
'测试',
60*1,
'科学计数法的处理方式'
);
- 使用yii2的ActiveDataProvider导出
需要在yii2框架中使用
需要先安装 jeremeamia/superclosure
composer require jeremeamia/superclosure=2.4.0
https://packagist.org/packages/jeremeamia/superclosure
https://github.com/jeremeamia/super_closure
set app/config/main.php
return [
...
'modules' => [
...
'export_big_stream' => [
'class' => 'myzero1\export_big_stream\Module',
],
...
],
...
];
\myzero1\export_big_stream\helpers\Helper::createExportForm(
$dataProvider,
$columnsFilter,
$name = '用户查询2',
$buttonOpts = [
'class' => 'btn btn-info',
],
$url = ['/export_big_stream/default/export', 'id' => 1],
$writerType = 'csv', // zip csv
$buttonLable = '导出3',
60*5,
$confirmMsg = "请问你确认导出数据吗?为空或者不设置都不会弹出提示",
$tips="这里的信息会写在第二行,为空时不显示,不设置这个参数时使用默认信息。"
);
- remoteArrayDataProvider
需要在yii2框架中使用
$remoteArrayDataProvider = \myzero1\export_big_stream\helpers\Helper::remoteArrayDataProvider(
$url,
$adjustedParams,
$timeout=600,
$itemsKeys=['data','items'],
$totalKeys=['data','total'],
$pageSizeKeys=['data','page_size'],
$dataProviderKey='',
$extendDataKeys=['data','total_amount']
);
$provider=$remoteArrayDataProvider['dataProvider'];
- remoteExport
$adjustedParams['page'] = 1;
$adjustedParams['page_size'] = 5;
$columns=[
[
'label' => 'id',
'attribute' => 'id',
],
[
'header' => 'id1',
'value' => function ($row) {
return $row['id']."_id";
},
],
];
\myzero1\export_big_stream\helpers\Helper::remoteExport(
$url,
$adjustedParams,
$remoteTimeout=60*1,
$itemsKeys=['data','items'],
$pageKey='page',
$pageSizeKey='page_size',
$columns,
$exportName='remote-export',
$maxExecutionTime=60*5,
$tips='这里的信息会写在第二行,为空时不显示,不设置这个参数时使用默认信息。'
);
- xxxx
参与贡献
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request
特技
- 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
- Gitee 官方博客 blog.gitee.com
- 你可以 https://gitee.com/explore 这个地址来了解 Gitee 上的优秀开源项目
- GVP 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
- Gitee 官方提供的使用手册 https://gitee.com/help
- Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 https://gitee.com/gitee-stars/