knowledgecenter-breadcrum

Knowledge Center

31 May, 2023

Create SharePoint list items with attachments in bulk using the Console app in C#.

Posted on 31 May, 2023 by Admin, Posted in SharePoint C#

Create SharePoint list items with attachments in bulk using the Console app in C#. Blogs

Introduction :
In this blog we will understand Bulk Creation of SharePoint List Items with Attachments using C# Console App

Steps:

Step 1: Create console app in VS Studio as shown below.

Step 2: Declare variables that takes input from the user and store inputs received in declared variables.

Step3: Use SecureString class to create a secure password.

Step4: Right click on the project and open Manage NuGet Packages installer.

Search for Microsoft.SharePointOnline.CSOM as shown below.

Use below code to connect to the SharePoint.

Step5: After connecting SharePoint inside client context get list by name.
Create the list item creation information to store the created items as shown below

Step6: Creating the document to attach in the attachment of the list item.

Step7: Now, using a foreach loop, we are creating the desired number of list items and updating them in the SharePoint list. Additionally, we are also updating the attachments in the list items.

Step8: Once all the list items are added in the list creation information, we execute the below command to create all the list items in SharePoint in bulk.

Step9: Here is the output of the code

Code:

using Microsoft.SharePoint.Client;
using System;
using System.IO;
using System.Security;
using System.Text;
namespace NISL.BLOG.CONSOLEAPP
{
class Program
{
private static string spAdminEmail = string.Empty;
private static string spPassword = string.Empty;
private static string SharePOintURL = string.Empty;
static void Main(string[] args)
{
Console.WriteLine();
Console.WriteLine("Please Enter Dynamics SharePoint details:");
Console.WriteLine();
Console.WriteLine("1. Enter SharePoint URL: (eg. https://nisltest2.sharepoint.com/sites/ddatest1)");
SharePOintURL = Console.ReadLine();
        Console.WriteLine("2. Enter SharePoint Admin Email: (eg. admin@yourdomain.com)");
        spAdminEmail = Console.ReadLine();

        Console.WriteLine("3. Enter SharePoint Admin Password:");
        spPassword = Console.ReadLine();

        string password = spPassword;
        SecureString securePassword = new SecureString();
        foreach (char c in password)
        {
            securePassword.AppendChar(c);
        }
        using (ClientContext clientContext = new ClientContext(SharePOintURL))
        {

            // Set the credentials
            clientContext.Credentials = new SharePointOnlineCredentials(spAdminEmail, securePassword);

            // Specify the target list
            List targetList = clientContext.Web.Lists.GetByTitle("Demo_1");

            // To store the Create ListItems
            ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation();

            string strMessage = "this is a demo";
            byte[] filename = Encoding.ASCII.GetBytes(strMessage);

            for (int i = 1; i < 100>             {
                //Create new List Item to Add the Item In SharePoint List
                ListItem newItem = targetList.AddItem(itemCreateInfo);
                newItem["Title"] = "Demo_" + i;
                newItem.Update();
                // Add the Attchmnets
                for (int j = 1; j <= 2; j++)
                {
                    AttachmentCreationInformation attachmentInfo = new AttachmentCreationInformation();
                    attachmentInfo.FileName = "Demo_"+j+".txt";
                    attachmentInfo.ContentStream = new MemoryStream(filename);
                    // Add the attachment to the list item
                    newItem.AttachmentFiles.Add(attachmentInfo);
                    newItem.Update();
                }
            }
            // Craete All list in builk in share Point
            clientContext.ExecuteQuery();
        }

        Console.WriteLine("Process End.");
        Console.ReadLine();
    }
}
}

Comment

This is a Required Field

Loading

Recent Updates

Blogs
01 Dec, 2025

Dynamics 365: Why One User Could Edit a Field and Another Couldn’t

Recently, we faced an issue in Dynamics 365 where the field was locked for one user but editable for another. The field…

READ MORE
Blogs
18 Nov, 2025

Building a Power Apps Code-First Application from Scratch: A Step-by-Step Guide

Introduction: Power Apps has long supported rapid app development with low-code/no-code tools. With Code-First Apps, developers can now create fully…

READ MORE
Blogs
16 Oct, 2025

Bug Logging in Azure DevOps

Logging bugs in Azure DevOps is an essential part of the software testing and development process. It allows teams to…

READ MORE