yii2.0中使用Goodby/csv插件,实现数据的导入导出
来源:互联网 发布:国外数据采集 的方法 编辑:程序博客网 时间:2024/06/07 03:58
插件下载,功能介绍
Goodby/csv的功能
可以实现导入csv文件中的数据,导出数据到csv文件中
在yii2.0框架中引入Goodby/csv插件(两种方法)
第一种:在项目根目录下直接输入: composer require goodby/csv
第二种:在项目根目录下找到composer.json文件,在‘require‘项下加入 : "goodby/csv": "^1.3" ,然后在项目根目录下运行composer update
使用实例解析
1.导入csv文件
a.通过PDO向数据库导入数据
user.csv文件中的内容:
1,alice,alice@example.com2,bob,bob@example.com3,carol,carol@eample.com
use Goodby\CSV\Import\Standard\Lexer;use Goodby\CSV\Import\Standard\Interpreter;use Goodby\CSV\Import\Standard\LexerConfig;$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');$pdo->query('CREATE TABLE IF NOT EXISTS user (id INT, `name` VARCHAR(255), email VARCHAR(255))');$config = new LexerConfig();$lexer = new Lexer($config);$interpreter = new Interpreter();$interpreter->addObserver(function(array $columns) use ($pdo) {$stmt = $pdo->prepare('INSERT INTO user (id, name, email) VALUES (?, ?, ?)');$stmt->execute($columns);});$lexer->parse('user.csv', $interpreter); //user.csv中有数据,每一行作为一条记录写入数据库2.导出数据到csv文件中
a.将数组中的值导出到csv文件中
use Goodby\CSV\Export\Standard\Exporter;use Goodby\CSV\Export\Standard\ExporterConfig;$config = new ExporterConfig();$exporter = new Exporter($config);$exporter->export('/tmp/abc.csv', array( array('1', 'alice', 'alice@example.com'), array('2', 'bob', 'bob@example.com'), array('3', 'carol', 'carol@example.com'),));//将数组中的值导入到/tmp/abc.csv文件中,文件不存在则创建
b.将数据库中的值通过PDO导出到csv文件中
use Goodby\CSV\Export\Standard\Exporter;
use Goodby\CSV\Export\Standard\ExporterConfig;use Goodby\CSV\Export\Standard\CsvFileObject;use Goodby\CSV\Export\Standard\Collection\PdoCollection;$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');/*******/$pdo->query('CREATE TABLE IF NOT EXISTS user (id INT, `name` VARCHAR(255), email VARCHAR(255))');$pdo->query("INSERT INTO user VALUES(1, 'alice', 'alice@example.com')");$pdo->query("INSERT INTO user VALUES(2, 'bob', 'bob@example.com')");$pdo->query("INSERT INTO user VALUES(3, 'carol', 'carol@example.com')");//以上是创建实验用的数据表,并在数据表中填入数据$exporter = new Exporter($config);$stmt = $pdo->prepare("SELECT * FROM user");$stmt->execute();$exporter->export('/tmp/data.csv', new PdoCollection($stmt));//将数据库中的数据导入到/tmp/data.csv文件中c.通过回调函数,将数组按要求处理后,导入到csv文件中
use Goodby\CSV\Export\Standard\Exporter;use Goodby\CSV\Export\Standard\ExporterConfig;use Goodby\CSV\Export\Standard\Collection\CallbackCollection;/******/$data = array();$data[] = array('user', 'name1');$data[] = array('user', 'name2');$data[] = array('user', 'name3');//以上为准备实验用的数组,此数组可以通过查询数据库得到$collection = new CallbackCollection($data, function($row) { // apply custom format to the row $row[1] = $row[1] . '!';//在每条记录的索引为1的数据上,都连接一个感叹号 return $row;});$config = new ExporterConfig();$exporter = new Exporter($config);$exporter->export('/tmp/deal.csv', $collection);<span style="font-family: Arial, Helvetica, sans-serif;">//将数据库中的数据导入到/tmp/deal.csv文件中</span>
以上是goodby/csv常用的功能介绍,更多功能使用请移步:插件下载,功能介绍
0 0
- yii2.0中使用Goodby/csv插件,实现数据的导入导出
- Bash中使用MySQL导入导出CSV格式数据
- php导入导出CSV格式的数据
- PHP中使用CSV导出数据的方法
- MySQL CSV 数据导入导出
- php利用phpexcel插件实现数据的导入和导出(支持csv\xls\xlsx格式和超过26个字段列)
- Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
- MySQL中导入 导出CSV
- 【代码实现】使用PHP导入和导出CSV文件
- Android:控件AutoCompleteTextView 自动提示
- URL请求到Action的映射规则
- python工具安装
- List集合如何删除对象
- iOS消息推送大致流程
- yii2.0中使用Goodby/csv插件,实现数据的导入导出
- 推荐一个学习OpenGL的网站
- html学习
- java对象转换为字节数组
- 背包问题九讲笔记_01背包
- python挑战之level 24
- 【学习笔记javascript设计模式与开发实践(闭包和高阶函数)----3】
- 三个annotation类型(RetentionPolicy,ElementType)
- Android本地选择图片显示并上传(客户端+服务器)