lupennat/import-export-card

此包已被弃用,不再维护。未建议替代包。

Laravel Nova - 导入导出卡片

v1.0.0 2023-05-23 09:38 UTC

This package is auto-updated.

Last update: 2023-12-12 11:39:21 UTC


README

  1. 要求
  2. 安装
  3. 使用
  4. 自定义

要求

  • php: ^7.4 | ^8
  • laravel/nova: ^4

安装

composer require lupennat/import-export-card

使用

接下来,您必须注册卡片。这通常在相应资源的卡片方法或 NovaServiceProvider 的卡片方法中完成。

// in  app/Nova/<Resource>.php

    public function cards(NovaRequest $request)
    {
        return [
            new \Lupennat\ImportExportCard\ImportCard(self::class),
            (new \Lupennat\ImportExportCard\DownloadImportSampleCard(asset('import-samples/file.csv')))
                ->withHelp('By importing you will insert a new row or update duplicate entries.'),
            new \Lupennat\ImportExportCard\ExportCard(self::class),
        ];
    }

自定义

要自定义导入/导出过程,请创建一个新的导入器/导出器类。导入器类基本上只是 laravel-excel 包的导入实现。导出器类基本上只是 laravel-excel 包的导出实现。最简单的方法是扩展 Lupennat\ImportExportCard\BasicImporterLupennat\ImportExportCard\BasicExporter 并覆盖不同的方法。在导入过程中,您可能需要抛出类型为 Lupennat\ImportExportCard\ImportException 的异常,并带有用户可见的错误消息。您还可以添加一个 message(): String 方法来自定义成功消息。

自定义导入器/导出器类可以在全局或资源级别注册。

// app/Nova/User.php

class User extends Resource
{

    public static $importer = CustomImporter::class;

    public static $exporter = CustomExporter::class;

    // ...
}

致谢

导入导出卡片基于原始的 Nova Import Card