2-4SharePoint .Net客户端对象模型
没有安装SharePoint得服务器上使用(需要提供 用户名 密码 域)
引入程序集 SharePoint.client 和 SharePoint runtime

List操作查询,修改,删除等
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.SharePoint.Client; using System.Net; namespace democlient { class Program { static string SITEURL = "http://sp2016:8000/sites/topsite"; static string LISTURL = "sites/topsite/Lists/ListCode"; static void Main(string[] args) { UpdateListItem(); } public static void GetWebTitle() { ClientContext context = new ClientContext(SITEURL); Web web = context.Web; context.Load(web); context.ExecuteQuery(); Console.WriteLine(web.Title); } //查询列表项 public static void GetListItems() { ClientContext context = new ClientContext(SITEURL); List list = context.Web.GetList(LISTURL); CamlQuery query = new CamlQuery(); query.ViewXml = ""; ListItemCollection items = list.GetItems(query); context.Load(items); context.ExecuteQuery(); foreach (ListItem item in items) { Console.WriteLine(item["Created"]); } } //创建列表项 public static void CreateListItem() { NetworkCredential nc = new NetworkCredential("spsetupadmin", "ljz815911L", "SP"); ClientContext context = new ClientContext(SITEURL); List list = context.Web.GetList(LISTURL); ListItemCreationInformation itemCI = new ListItemCreationInformation(); ListItem newItem = list.AddItem(itemCI); newItem["Title"] = "new item"; newItem.Update(); context.ExecuteQuery(); } //更新列表项 public static void UpdateListItem() { ClientContext context = new ClientContext(SITEURL); List list = context.Web.GetList(LISTURL); ListItem item = list.GetItemById(2); context.Load(item); context.ExecuteQuery(); item["Title"] =item["Title"]+ "Updated2!";//使用对象必须先load execurequery item.Update(); context.ExecuteQuery(); } } }
文件上传
using Microsoft.SharePoint.Client; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace DemoClientFileOpear { class Program { static string SiteUrl = "http://sp2016:8000/sites/topsite"; static string WebUrl = string.Empty; static string ListUrl = "/sites/topsite/Lists/ListCode"; static string DocUrl = "/sites/topsite/Documents"; static void Main(string[] args) { UploadDoc(); } public static void UploadDoc() { NetworkCredential nc = new NetworkCredential("spsetupadmin", "ljz815911L", "SP"); ClientContext context = new ClientContext(SiteUrl); List list = context.Web.GetList(DocUrl); FileCreationInformation fileCI = new FileCreationInformation(); string direct = @"C:\test.txt"; FileStream fs = new FileStream(direct, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(fs); Byte[] filecontents = br.ReadBytes((int)fs.Length); br.Close(); fs.Close(); fileCI.Content = filecontents; fileCI.Overwrite = true; fileCI.Url = "test.txt"; list.RootFolder.Files.Add(fileCI); context.ExecuteQuery(); } } }
SPQuery 和SPView
using Microsoft.SharePoint.Client; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoClientSPQueryAndSPView { class Program { static string SITEURL = "http://sp2016:8000/sites/topsite"; static string LISTURL = "sites/topsite/Lists/ListCode"; static void Main(string[] args) { GetListItems(); } public static void GetListItems() { ClientContext context = new ClientContext(SITEURL); List list = context.Web.GetList(LISTURL); CamlQuery query = new CamlQuery(); query.ViewXml = @"<View></View><Query></Query><RowLimit>3</RowLimit> <QueryOptions><ViewAttributes Scope='Recursive'/></QueryOptions>"; // Scope = "Recursive"//所有文档 //Scope = "RecursiveAll"//所有文档和文件夹 ListItemCollection items = list.GetItems(query); context.Load(items); context.ExecuteQuery(); foreach (ListItem item in items) { Console.WriteLine(item["Created"]); } } } }

浙公网安备 33010602011771号