You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell的ImportExcel模块读取SharePoint文档库中的Excel文件?

解决ImportExcel模块访问SharePoint Excel文件的路径问题

ImportExcel模块本身不支持直接读取SharePoint的Web链接(HTTPS)或未映射的UNC路径,这就是你遇到"file not found"错误的核心原因。下面是几种可行的解决办法:

方法1:将SharePoint文档库映射为网络驱动器

先把SharePoint文档库映射成本地可访问的网络驱动器,再用ImportExcel读取:

# 映射网络驱动器(需确保账户有权限访问目标站点)
New-PSDrive -Name "S" -PSProvider FileSystem -Root "\\organisation.sharepoint.com@SSL\DavWWWRoot\sites\Deliveries-Team Name\Shared Documents"

# 读取Excel文件
$path = "S:\Spreadsheet name.xlsx"
$Workplace = Import-Excel $path -WorksheetName "worksheet"

# 用完后可移除驱动器(可选)
Remove-PSDrive -Name "S"

方法2:先下载文件到本地临时目录

通过下载文件到本地,再用ImportExcel读取,适合大多数场景:

用Invoke-WebRequest(需处理身份验证)

$localPath = "C:\Temp\Spreadsheet name.xlsx"
$sharePointUrl = "https://organisation.sharepoint.com/sites/Deliveries-Team Name/Shared Documents/Spreadsheet name.xlsx"

# M365环境建议使用存储的凭据或非交互式验证
Invoke-WebRequest -Uri $sharePointUrl -OutFile $localPath -Credential (Get-Credential)

# 读取本地文件
$Workplace = Import-Excel $localPath -WorksheetName "worksheet"

# 清理临时文件(可选)
Remove-Item $localPath

用PnP PowerShell模块(适配M365环境)

# 首次运行需安装模块:Install-Module -Name PnP.PowerShell -Force

# 连接到SharePoint站点(交互式验证,任务计划中需改用非交互式方式)
Connect-PnPOnline -Url "https://organisation.sharepoint.com/sites/Deliveries-Team Name" -Interactive

# 下载文件到本地临时目录
Get-PnPFile -Url "/sites/Deliveries-Team Name/Shared Documents/Spreadsheet name.xlsx" -Path "C:\Temp" -FileName "Spreadsheet name.xlsx" -AsFile

# 读取文件
$Workplace = Import-Excel "C:\Temp\Spreadsheet name.xlsx" -WorksheetName "worksheet"

# 清理临时文件
Remove-Item "C:\Temp\Spreadsheet name.xlsx"

方法3:通过PnP直接获取Excel内容(无需下载)

如果不想生成本地文件,可以用PnP模块直接提取表格数据:

Connect-PnPOnline -Url "https://organisation.sharepoint.com/sites/Deliveries-Team Name" -Interactive

# 直接获取指定工作表的内容,返回为对象数组
$Workplace = Get-PnPListItem -List "Shared Documents" -Query "<View><Query><Where><Eq><FieldRef Name='FileLeafRef'/><Value Type='Text'>Spreadsheet name.xlsx</Value></Eq></Where></Query></View>" | 
             Get-PnPExcelListItem -WorksheetName "worksheet"

注意:任务计划程序中运行时,需确保执行账户拥有SharePoint站点和文件的访问权限,且身份验证方式需改为非交互式(比如存储凭据或应用程序权限),避免弹出交互窗口导致任务失败。

内容的提问来源于stack exchange,提问作者Mr H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 18:01:01