MNB PHPExcelDeveloper Guide
Database module

Domain Import Presets

Use built-in schemas for common datasets, then override aliases, mappings, defaults, rules, normalizers, and duplicate keys.

Updated

LevelIntermediateReading time9 minPackagemnb/mnb-phpexcel
DomainImporter::create()importProducts()importUsers()DomainImportRegistry::register()

What you will learn

  • Use built-in schemas for common application datasets.
  • Generate previews and imports with canonical normalization.
  • Register application-specific presets without modifying package code.

Use a built-in convenience method#

PHP
$importer = DomainImporter::create();

$result = $importer->importProducts(
    'products.xlsx',
    $pdo,
    'products',
    [
        'batch_size' => 1000,
        'duplicate_strategy' => 'update',
        'unique_by' => ['sku'],
        'failed_rows_csv' => __DIR__ . '/storage/failed-products.csv',
    ]
);

Available built-in domains#

DomainConvenience method
UsersimportUsers()
ProductsimportProducts()
OrdersimportOrders()
InventoryimportInventory()
Students / Attendance / MarksimportStudents(), importAttendance(), importMarks()
Contacts / LocationsimportContacts(), importLocations()
Blog posts / Media / CategoriesimportBlogPosts(), importMedia(), importCategories()

Inspect or extend the registry#

PHP
$registry = DomainImportRegistry::withBuiltIns();
print_r($registry->names());

$registry->register($customPreset);
$importer = DomainImporter::create($registry);