.Net C#脚本实现下载SharePoint文档中General文件夹中的的Excel文件到本地,文件名为SharepointTest.xlsx,文件连接https://sharewinfobi.sharepoint.com/:x:/s/AM1000/ETN_N3UL9thJgRHDPbun0UIBe-TqD_d-TF9kQft9aOKlog?e=b2OllY%E3%80%82
2条回答 默认 最新
- 2301_77446891 2023-04-05 16:29关注
该回答引用于ChatGPT:
这里提供一个使用 Microsoft.SharePoint.Client 库实现从 SharePoint 中下载文件的 C# 代码示例:using System; using System.IO; using Microsoft.SharePoint.Client; class Program { static void Main(string[] args) { string siteUrl = "https://sharewinfobi.sharepoint.com/sites/AM1000"; string libraryName = "General"; string fileName = "SharepointTest.xlsx"; string localFilePath = @"C:\Downloads\" + fileName; using (var clientContext = new ClientContext(siteUrl)) { // Replace with the actual credentials of a user who has access to the SharePoint site var credential = new SharePointOnlineCredentials("username@domain.com", GetSecureString("password")); clientContext.Credentials = credential; var web = clientContext.Web; var list = web.Lists.GetByTitle(libraryName); var query = CamlQuery.CreateAllItemsQuery(); query.ViewXml = "<View Scope='RecursiveAll'><Query><Where><Eq><FieldRef Name='FileLeafRef'/><Value Type='Text'>" + fileName + "</Value></Eq></Where></Query></View>"; var items = list.GetItems(query); clientContext.Load(items, includes => includes.Include(item => item["FileLeafRef"],item => item.File)); clientContext.ExecuteQuery(); if (items.Count == 1) { var file = items[0].File; clientContext.Load(file); clientContext.ExecuteQuery(); var fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(clientContext, file.ServerRelativeUrl); using (var fileStream = new FileStream(localFilePath, FileMode.Create)) { fileInfo.Stream.CopyTo(fileStream); } Console.WriteLine("File downloaded successfully!"); } else { Console.WriteLine("File not found or more than one file with the same name exists."); } } } public static System.Security.SecureString GetSecureString(string password) { var securePassword = new System.Security.SecureString(); foreach (char c in password) { securePassword.AppendChar(c); } return securePassword; } }
在上面的代码中,我们首先指定 SharePoint 网站的 URL、文档库的名称、要下载的文件名以及本地存储的路径。然后,我们使用 SharePointOnlineCredentials 类来设置用户凭据,这里需要用到 SharePoint 网站的用户名和密码。
接着,我们使用 ClientContext 对象来连接到 SharePoint 网站,并获取指定文档库中的所有项。这个查询使用了 CamlQuery,并被限制为只搜索指定的文件名。如果查询返回一个项目,我们可以打开二进制文件流并将其保存到本地文件中。
最后,我们在控制台输出成功或者失败的消息。
注意:在运行此代码之前,确保已经安装 Microsoft.SharePoint.Client 和 Microsoft.SharePoint.Client.Runtime 库。
解决 无用评论 打赏 举报
悬赏问题
- ¥15 依据报错在原代吗格式的基础上解决问题
- ¥15 在虚拟机中安装flash code
- ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
- ¥20 verilog状态机方法流水灯
- ¥15 pandas代码实现不了意图
- ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
- ¥25 LT码在高斯信道下的误码率仿真
- ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
- ¥15 yolov5目标检测并显示目标出现的时间或视频帧
- ¥15 电视版的优酷可以设置电影连续播放吗?