web-dev-qa-db-ja.com

C#を使用してSharePointリストを取得する方法

特定のリストアイテムからフィールド値を取得する方法。私の場合、ワークプランリストのすべてのフォームフィールドを取得します。実際には、ワークプランのすべてのリストアイテムを取得し、SharePoint 2013に関連付けられたデータベースに挿入します。

example

次のコードを試してみます。

string strUrl = "http://example.com/default.aspx";
using (SPSite site = new SPSite(strUrl))
{
    using (SPWeb web = site.OpenWeb())
    {                 

        SPList list = web.Lists[52];
        SPQuery myquery = new SPQuery();
        myquery.Query = "";        
        SPListItemCollection items = list.GetItems(myquery);                

        foreach (SPListItem item in items)
        {
            if (item != null)
            {
                var Name = item.ListItems.Fields.List;
                Console.WriteLine("Name is :" + Name);
            }
        }  
    }
}
7
moss

これは、サーバーオブジェクトモデルを使用する場合の最も簡単な方法です。

string strUrl = "http://example.com";                
using(SPSite oSite = new SPSite(strUrl))
{        
   using(SPWeb oWeb = oSite.OpenWeb())
   {
      SPList list = oWeb.Lists["Workplan"];

       foreach(SPField field in list.Fields)
       {
           Console.WriteLine(field.Title);
       }
    }            
}

ところで、サイトのURLは"http://example.com/default.aspx"のように"http://example.com"のように設定すれば十分です。

Sharepointの詳細については、将来 このサイト を使用することをお勧めします。

8
チーズパン
using (SPSite site = new SPSite("URL")
     {
        using (SPWeb web = site.OpenWeb("sitecollection/subsite"))
        {
         //to get specific list type
           string listUrl = "/sites/sitecollection/subsite/Lists/Announcements";
           SPList list = web.GetList(listUrl);
           Console.WriteLine("List URL: {0}", list.RootFolder.ServerRelativeUrl);
        }
     }

// spwebからすべてのリストを取得するには、次を使用します。

SPSite oSiteCollection = SPContext.Current.Site;
using(SPWebCollection collWebs = oSiteCollection.AllWebs)
{
foreach (SPWeb oWebsite in collWebs)
{
    SPListCollection collSiteLists = oWebsite.Lists;
    foreach (SPList oList in collSiteLists)
    {
        //get your each list here
    }
    oWebsite.Dispose();
}
}
2
StartCoding