vinorcola/import-bundle

提供导入和映射文件的工具的包。

安装: 19

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

v2.0.2 2024-02-20 11:05 UTC

This package is auto-updated.

Last update: 2024-09-20 12:35:44 UTC


README

一个用于从CSV或Excel文件导入数据,并允许用户将文件列映射到所需进程字段的包。

配置

设置一个临时目录,上传的文件将临时存储在此。

通过配置

  • 路由前缀(为每个导入过程生成多个路由)
  • 映射(您进程所需列)
  • 进程服务(必须实现 Vinorcola\ImportBundle\Model\ImportConsumerInterface)。
# config/packages/vinorcola_import.yaml

vinorcola_import:
    temporaryDirectory: "%kernel.project_dir%/document-storage/tmp"
    imports:
        company_import:
            route_prefix:
                name: import.company.
                url: /company/import
            mapping: [ nationalIdentifier, companyName, address, city ]
            service: App\Model\CompanyImportHandler
        contact_import:
            route_prefix:
                name: import.contact.
                url: /contact/import
            mapping: [ firstName, lastName, emailAddress, phoneNumber ]
            service: App\Model\ContactImportHanlder
# config/routes/vinorcola_import.yaml

import_routes:
    resource: '@VinorcolaImportBundle/Controller/'
    type: vinorcola_import

然后,您的进程服务的 consume 方法将针对用户文件的每一行数据被调用,提供一个包含映射列和行索引的数组

public function consume(array $values, int $lineIndex): void;

例如,在 App\Model\CompanyImportHandler 中,consume 方法将使用包含以下键的 $values 数组被调用

  • nationalIdentifier
  • companyName
  • address
  • city