lupennat / import-export-card
此包已被弃用,不再维护。未建议替代包。
Laravel Nova - 导入导出卡片
v1.0.0
2023-05-23 09:38 UTC
Requires
- php: ^7.4|^8.0
- laravel/nova: ^4.12
- maatwebsite/excel: ^3.1
- nova-kit/nova-packages-tool: ^1.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.16
README
要求
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\BasicImporter
或 Lupennat\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。