Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Opensolr Search 4.5.0 Minor update available for module opensolr_search (4.5.0). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

This module imports users into Drupal from Excel spreadsheets. It can create new users or update existing ones, supporting common fields like username, email, password, roles, and status. The process uses the Batch API for efficient handling of large files.

Batch User Importer helps Drupal administrators create or update user accounts from Excel spreadsheets. It processes imports through Drupal's Batch API, making it suitable for both small and large user lists.

Features

  • Imports users from .xlsx and .xls files.
  • Creates new accounts or updates existing accounts matched by email address.
  • Supports usernames, email addresses, passwords, roles, and account status.
  • Processes large imports with Drupal's Batch API.
  • Provides a downloadable Excel template with an instructions worksheet.
  • Validates spreadsheet headers, email addresses, roles, status values, and required passwords.
  • Reports separate totals for processed, created, updated, skipped, and failed rows.
  • Allows the administrator to select the spreadsheet header row.

Requirements

  • Drupal 10.2 or later, or Drupal 11.
  • PHPSpreadsheet. Composer installs this dependency automatically.
  • A configured Drupal private file system.

Installation

Install the stable release with Composer:

composer require drupal/batch_user_importer:^1.1
drush en batch_user_importer -y
drush cr

Configure file_private_path in settings.php before importing files.

Usage

  1. Grant the Import users from Excel permission to trusted administrator roles.
  2. Open /admin/people/user-import.
  3. Download the provided Excel template.
  4. Add one user per row without changing the column names.
  5. Upload the spreadsheet and select the header row number.
  6. Select Start import and review the results when processing finishes.

The maximum upload size is 20 MB.

Spreadsheet columns

Column Required Description username Yes A unique Drupal username. email Yes A valid email address. Existing users are matched by email. password New users Required for new users. A blank value does not change an existing user's password. roles No Comma-separated Drupal role machine names. status No Use active or inactive. A blank value defaults to active.

Accepted active values are 1, active, enabled, true, and yes. Accepted inactive values are 0, inactive, disabled, false, and no.

Upgrading from 1.0.0

Version 1.0.0 used the user_importer machine name. Uninstall the old module before installing version 1.1:

drush pm:uninstall user_importer -y
drush cr
composer require drupal/batch_user_importer:^1.1
drush en batch_user_importer -y

Support and development

Report bugs and request features in the Batch User Importer issue queue. Please search for an existing issue before creating a new one.

Depends on

Dependencies of the latest stable release

  • file Drupal core
  • user Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
3
Tracked since
Sep 2025
Latest release
2 weeks ago
Releases (12 mo)
3 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
1.1.0 Stable 10–11 Aug 17, 2026
1.1.0-beta1 Pre-release 10–11 Aug 17, 2026
1.x-dev Dev 9–11 Sep 21, 2025