akutaktau/csv-importer

CakePHP 的 CsvImporter 插件

安装: 2

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:cakephp-plugin

0.5 2023-06-21 08:42 UTC

This package is auto-updated.

Last update: 2024-08-24 14:12:03 UTC


README

尚不支持单元测试。仍在开发中

先决条件

  1. 必须创建与该插件一起使用的模型
  2. 模型应遵循 Cakephp -> 表命名约定

安装

您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。

安装 composer 包的推荐方法是

composer require akutaktau/csv-importer

加载插件

bin/cake plugin load CsvImporter

转到 http://yourdomain/csv-importer/imports

## 使用自己的 UI 在控制器中添加

use CsvImporter\Controller\Component\ImportCsvComponent;

然后加载组件

$this->loadComponent('CsvImporter.ImportCsv');

以获取表列表

$this->ImportCsv->getTables();

以获取表列列表

$this->ImportCsv->getFields($table);

上传并保存 CSV 到数据库

$this->ImportCsv->saveFile($data['field'],$data['tables'],$files['inputNameFromForm'],$delimiter);

$data['field'] 是一个数组,其索引为表中的 fieldName,值为 CSV 中的列号。

$data['field'] = ['fieldName1' => 'columnNumber2','fieldName2' => 'columnNumber4']

$data['tables'] 应包含表名。

$data['tables'] = 'tableName';

$files['inputNameFromForm'] 应包含从 $this->getRequest()->getUploadedFiles() 获取的对象

$files = $this->getRequest()->getUploadedFiles();

$delimiter 包含 CSV 分隔符值

$delimiter = ',';