使用 PowerShell 从 SharePoint 打开 Excel 文档

Ram*_*yer 3 powershell sharepoint sharepoint-2010

我正在尝试使用 PowerShell 从 SharePoint 打开 Excel 工作簿。我没有加载 SharePoint 管理单元\xe2\x80\x94我没有它。

\n\n

当 PowerShell 尝试启动工作簿时,SharePoint 会提示输入凭据。问题是我们正在尝试安排脚本,并且我们希望脚本具有类似 SSO 的体验。

\n\n

这是 MWE:

\n\n
$Excel = New-Object -ComObject Excel.Application\n$Workbook = $Excel.Workbooks.Open(http://site/file.xlsx)\n$Worksheet = $Workbook.Sheets.Item($WorksheetName)\n$Excel.Visible = $false\n\n# some Excel manipulation\n\n$Workbook.Close($false)\n$Excel.Quit()\n[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Excel) | Out-Null\nRemove-Variable Excel\n
Run Code Online (Sandbox Code Playgroud)\n

Cre*_*ter 6

我最近遇到了同样的问题。我解决了它,没有将其保存到本地计算机。

COM Excel 对象的 WorkBook 属性有一个称为 CheckIn 和 CheckOut 的方法。您将需要同时使用两者。

另外,要直接从 Sharepoint 打开文件,只需转到 Sharepoint 页面上的库,然后在资源管理器中打开它。你会得到这样的东西:

http://站点名称/站点/TeamSite/FileLibrary/

您只需将路径替换为 UNC 路径,如下所示:

\\站点名称\站点\TeamSite\FileLibrary\

(开头有双反斜杠)

$ExcelObject = New-Object -ComObject Excel.Application

$ExcelWorkBook = $ExcelObject.Workbooks.Open("\\sitename\sites\TeamSite\FileLibrary\test.xlsx")
$ExcelObject.Workbooks.CheckOut("\\sitename\sites\TeamSite\FileLibrary\test.xlsx")

$ExcelWorkSheet = $ExcelWorkBook.Sheets.Item(1)

#This part selects the A:1 cell and changes it's value.
$ExcelWorkSheet.Cells.Item(1,1) = "Edited text"

$ExcelWorkBook.Save()
$ExcelWorkBook.CheckIn()
Run Code Online (Sandbox Code Playgroud)