2014-01-14

A sample powershell script to import a CSV data into a list after deleting the existing items using the client object model.

$csv = Import-CSV data.csv
$siteUrl = "https://office365 url"
$listName = "listName"
$userName  = "username"
 
$password = Read-Host -Prompt "Enter password" -AsSecureString
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($userName, $password)
$context = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$context.Credentials = $credentials
[Microsoft.SharePoint.Client.Web]$web = $context.Web
[Microsoft.SharePoint.Client.List]$list = $web.Lists.GetByTitle($listName)
 
$query = [Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery(10000, 'Title')
$items = $list.GetItems( $query )
 
$context.load($items)
$context.ExecuteQuery();
 
 
$count = $items.Count - 1
write-host "$count items found. Deleting."
$deleteGroup = 0
for($intIndex = $count; $intIndex -gt -1; $intIndex--)
{
        $items[$intIndex].DeleteObject();
        write-host "`r".padleft(40," ") -nonewline
        write-host "Remaining items $intIndex" -nonewline
        $deleteGroup++
        if($deleteGroup -eq 20)
        {
            $context.ExecuteQuery();
            $deleteGroup = 0;
        }
}
$intIndex = 0;
$addGroup = 0;
write-host "`nImporting data..."
foreach ($row in $csv) {
    [Microsoft.SharePoint.Client.ListItemCreationInformation]$itemCreateInfo = New-Object Microsoft.SharePoint.Client.ListItemCreationInformation;
    [Microsoft.SharePoint.Client.ListItem]$item = $list.AddItem($itemCreateInfo);
    $item["Title"] = $row.Title;
    ############################
    # More columns here...
    ############################
    $item.Update();
    $addGroup++
    if($addGroup -eq 20)
    {
        $context.ExecuteQuery();
        $addGroup = 0;
    }
    write-host "`r".padleft(40," ") -nonewline
    write-host "Count : $intIndex" -nonewline
    $intIndex++
}
 
Write-Host "Import completed"

 

About the author 

Balamurugan Kailasam