myzero1/export-big-stream

Export big data through data streams

This package's canonical repository appears to be gone and the package has been frozen as a result. Email us for help if needed.

Maintainers

👁 myzero1

Package info

gitee.com/myzero1/export-big-stream

pkg:composer/myzero1/export-big-stream

Statistics

Installs: 25

Dependents: 0

Suggesters: 0

v1.1.3 2025-06-16 07:24 UTC

Requires

Requires (Dev)

None

Suggests

None

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause 73507d53d7afa46b5c2224cf3037b2f617f077d3

  • myzero1 <myzero1.woop@qq.com>

This package is not auto-updated.

Last update: 2025-09-08 08:31:11 UTC


README

介绍

Export big data through data streams

软件架构

软件架构说明

安装教程

  1. xxxx
  2. xxxx
  3. xxxx

使用说明

  1. 导出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,
 '科学计数法的处理方式'
 );

  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,
 '科学计数法的处理方式'
 );

  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="这里的信息会写在第二行,为空时不显示,不设置这个参数时使用默认信息。"
 );

  1. 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'];

  1. 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='这里的信息会写在第二行,为空时不显示,不设置这个参数时使用默认信息。'
 );

  1. xxxx

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

特技

  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. Gitee 官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解 Gitee 上的优秀开源项目
  4. GVP 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
  5. Gitee 官方提供的使用手册 https://gitee.com/help
  6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 https://gitee.com/gitee-stars/