Skip to content

Excel Import / Export ​

First-Pass Node Dossier

This page is an evidence-backed node dossier generated from the domain hierarchy and node questionnaire.

What It Is ​

Excel Import / Export is the packaged bulk data-exchange tool that lets staff upload spreadsheet files for import, queue spreadsheet exports, review run status, inspect import errors, and download completed exports.

Parent hierarchy:

  • Supporting Platform Capabilities
  • Integration And Data Exchange
  • Excel Import / Export

Primary implementation paths:

  • packages/framework/src/Models/ExcelImport.php
  • packages/framework/src/Models/ExcelExport.php
  • packages/framework/src/Actions/Excel

What Users Can Do With It ​

Direct capabilities ​

Operators can:

  • open the packaged Tools > Excel page
  • switch between import and export tabs
  • create import runs from packaged import dialogs
  • create export runs from packaged export dialogs
  • review run status, parameters, timestamps, and logs
  • open row-level import validation logs
  • download completed exports

Indirect capabilities ​

Other workflows use Excel Import / Export to:

  • queue asynchronous import and export jobs automatically when records are created
  • send completion emails to the requesting user
  • parse prompt parameters for display in the admin table

Things users cannot do directly ​

The inspected shared package does not expose a generic file manager for past spreadsheet files. Import source files are deleted after processing, and exports are surfaced as run records plus downloadable files.

Where It Is Managed ​

ChannelRoleNotes
Admin Tools > Excel pageDirectMain packaged operator surface
Excel imports APIDirectStaff-only list and create surface
Excel exports APIDirectStaff-only list, create, and download surface
Import and export observersIndirectAutomatically dispatch queued processing when a run record is created
Completion emailsIndirectNotify the initiating user when a run completes or fails

Sources:

  • packages/framework/routes/admin.php
  • packages/framework/src/Actions/Excel/Requests/Admin/ImportIndexRequest.php
  • packages/framework/src/Actions/Excel/Requests/Admin/ImportCreateRequest.php
  • packages/framework/src/Actions/Excel/Requests/Admin/ExportIndexRequest.php
  • packages/framework/src/Actions/Excel/Requests/Admin/ExportCreateRequest.php
  • packages/framework/src/Actions/Excel/Requests/Admin/ExportDownloadRequest.php

Channel-Level Field Coverage ​

Packaged admin Excel table ​

The packaged Tools > Excel table shows:

  • model or template name
  • run type (Import or Export)
  • user
  • prompt parameters
  • status
  • created_at
  • started_at
  • completed_at

The row action area then exposes:

  • import logs
  • export logs
  • export download when completed

Import records ​

ExcelImport persists:

  • user_id
  • import_template
  • status
  • logs
  • started_at
  • failed_at
  • completed_at
  • file_path
  • file_disk
  • extra_attributes

Export records ​

ExcelExport persists:

  • user_id
  • export_template
  • name
  • status
  • logs
  • started_at
  • failed_at
  • completed_at
  • file_path
  • file_disk
  • extra_attributes

Sources:

  • packages/framework/src/Models/ExcelImport.php
  • packages/framework/src/Models/ExcelExport.php

Configuration And Data Model ​

Key implementation characteristics:

  • imports and exports are separate persisted run records
  • import validation failures are stored in ExcelImportLog
  • both imports and exports use extra_attributes that are rendered back to the operator as prompt parameters
  • observers dispatch processing automatically after record creation

Important support records:

  • ExcelImportLog

Source:

  • packages/framework/src/Models/ExcelImport.php
  • packages/framework/src/Models/ExcelExport.php
  • packages/framework/src/Models/ExcelImportLog.php
  • packages/framework/src/Observers/ExcelImportObserver.php
  • packages/framework/src/Observers/ExcelExportObserver.php

Relationships ​

Excel Import / Export directly connects to:

  • the requesting user
  • import templates
  • export templates
  • row-level import logs
  • file storage disks

Practical dependents:

  • product imports
  • shipping imports
  • promotion imports
  • product-group imports
  • product, customer, shipping, promotion, and vendor-related exports

Rules And Downstream Effects ​

API versus packaged admin template mismatch ​

The generic admin API create actions validate import and export templates against the narrow template lists returned by ExcelImport::getImportableTemplates() and ExcelExport::getExportableTemplates().

Queued processing ​

Creating an import or export record triggers an observer that dispatches asynchronous processing automatically.

Import file cleanup ​

After an import completes or fails, the original uploaded file is deleted. Product imports can also remove the temporary import directory.

Completion notification ​

Both import and export flows email the requesting user when the run completes or fails.

Sources:

  • packages/framework/src/Models/ExcelImport.php
  • packages/framework/src/Models/ExcelExport.php
  • packages/framework/src/Observers/ExcelImportObserver.php
  • packages/framework/src/Observers/ExcelExportObserver.php
  • packages/framework/src/Actions/Excel/ImportCreate.php
  • packages/framework/src/Actions/Excel/ExportCreate.php
  • packages/framework/src/Actions/Excel/SetImportStatus.php
  • packages/framework/src/Actions/Excel/SetExportStatus.php

Integrations And Automation ​

Import execution ​

The importer can run either:

  • an action-class import
  • a Maatwebsite Excel import class

Validation failures are written to ExcelImportLog rows when the import class exposes failures.

Export execution ​

The exporter can run either:

  • an action-class export
  • a Maatwebsite Excel export class stored to the configured disk

Download paths ​

Completed exports can be downloaded through:

  • the admin row action
  • the staff-only export download API

The admin row action can use a temporary S3 URL when the export disk is S3.

Sources:

  • packages/framework/src/Actions/Excel/ExcelImporter.php
  • packages/framework/src/Actions/Excel/ExcelExporter.php
  • packages/framework/src/Actions/Excel/ExportDownload.php

Where It Appears To End Users ​

Excel Import / Export is an operator-facing capability.

In the inspected shared package, it appears as a concrete admin tool with tabs, dialogs, row statuses, logs, and downloads.

Current Documentation Takeaways ​

  1. Tools > Excel is one of the strongest packaged operator surfaces in the supporting-capabilities domain.
  2. Import and export runs are tracked as records, not as fire-and-forget actions.
  3. The packaged admin dialogs expose a broader set of templates than the narrow API helper methods suggest.

Open Questions ​

Sources ​

  • packages/framework/src/Models/ExcelImport.php
  • packages/framework/src/Models/ExcelExport.php
  • packages/framework/src/Models/ExcelImportLog.php
  • packages/framework/src/Actions/Excel/ImportCreate.php
  • packages/framework/src/Actions/Excel/ExportCreate.php
  • packages/framework/src/Actions/Excel/ExcelImporter.php
  • packages/framework/src/Actions/Excel/ExcelExporter.php
  • packages/framework/src/Actions/Excel/SetImportStatus.php
  • packages/framework/src/Actions/Excel/SetExportStatus.php
  • packages/framework/src/Actions/Excel/ExportDownload.php
  • packages/framework/src/Observers/ExcelImportObserver.php
  • packages/framework/src/Observers/ExcelExportObserver.php