PowerShell WebClient下载会导致文件损坏

时间:2017-07-20 10:56:56

标签: excel powershell

我正在运行以下PowerShell,尝试下载Excel xlsx格式的电子表格表格。

$ExcelFileLocal = 'C:\Temp\Test.xlsx'
$ExcelFileRemote = '<long https url to Excel file taken from SharePoint using Copy Shortcut command>'
$credentials = Get-Credential -UserName $strName
$webclient = New-Object System.Net.WebClient 
$webclient.Credentials = $credentials 
$webclient.DownloadFile($ExcelFileRemote, $ExcelFileLocal)

尝试在PowerShell中使用Excel或新COM对象打开文件时,会出现以下错误:

  

Excel无法打开文件'Test.xlsx',因为文件格式或文件   扩展无效。验证文件是否已损坏   并且文件扩展名与文件格式匹配。

如果使用.txt文件而不是Excel文件进​​行测试,则打开结果文件没有问题。

此处列出的答案:Opening an Excel document from SharePoint using PowerShell给出的错误与显示的相同。

编辑:

我尝试下载并进一步处理的文件似乎是XML,可以在文本编辑器中打开以显示此标题:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:o="urn:schemas-microsoft-com:office:office" lang="en-us" dir="ltr">
<head><meta http-equiv="X-UA-Compatible" content="IE=8" /><meta name="GENERATOR" content="Microsoft SharePoint" /><meta name="progid" content="SharePoint.WebPartPage.Document" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta http-equiv="Expires" content="0" /><title>

我成功测试的更简单的.xlsx文件没有这种XML格式,可以进一步处理。不知道为什么会出现这种差异。

1 个答案:

答案 0 :(得分:0)

长网址错误 - 正确现在按预期工作。