SharePoint Online: Create Multiple Lists from a CSV File using PowerShell

Requirement: Bulk create lists in SharePoint Online from a CSV File.

How to Create Multiple lists from CSV File?

We can use the combination of CSV and PowerShell to create multiple lists in bulk in SharePoint Online. Here is my CSV File:

sharepoint online create list from csv

You can download this CSV here:

PowerShell to Create Multiple lists from CSV File

Use this PnP PowerShell to create SharePoint lists from csv.

#Set Parameters
$SiteURL = ""
$CSVFilePath = "C:\Documents\ListCreationTemplate.csv"
#Connect to the site
Connect-PnPOnline -Url $SiteURL -Interactive

#Get the data from CSV file
$CSVFile = Import-CSV $CSVFilePath
#Read CSV file and create List
ForEach($Row in $CSVFile)
    Try {
        #Create List
        Write-host -f Yellow "Creating List:"$Row.ListName
        If($Row.OnQuickLaunch -eq "True")
            New-PnPList -Title $Row.ListName -Template $Row.Template -OnQuickLaunch -ErrorAction Stop | Out-Null
            New-PnPList -Title $Row.ListName -Template $Row.Template -ErrorAction Stop | Out-Null
        Write-host -f Green "`tCreated List '$($Row.ListName)'"
    Catch {
        write-host -f Red "`tError:" $_.Exception.Message

This CSV file has ListName, Description, Template, OnQuickLaunch columns. You can add any necessary columns as the parameter for creating list.

Tail: How to Get All Values from an Enumerator?

If you want get all values from an enum, use the below PowerShell script. In my case, I had to retrieve all list template types.

#Get All Values from the Enum
Function Get-EnumValues([string]$Enumerator)
    $EnumValues = @{}
    [Enum]::GetValues([Type]$Enumerator) | ForEach-Object {
        $EnumValues.add($_, $_.value__)
Get-EnumValues -Enumerator "Microsoft.SharePoint.Client.ListTemplateType"

You can also use: GetEnumValues() method of the enumerator. E.g.


Salaudeen Rajack

Salaudeen Rajack is a SharePoint Architect with Two decades of SharePoint Experience. He loves sharing his knowledge and experiences with the SharePoint community, through his real-world articles!

Leave a Reply