PowerShell正在以无法读取的格式保存excel工作表

PowerShell正在以无法读取的格式保存excel工作表,excel,powershell,Excel,Powershell,我有下面的一段代码,用于检查数据库的文件到磁带作业,并在excel工作表中给出输出 $date = Get-Date $day = $date.Day $hour = $date.Hour $Excel = New-Object -ComObject Excel.Application $Excel.visible = $true $Excel.DisplayAlerts = $false $Workbook = $Excel.Workbooks.Add() $Sheet = $Excel.W

我有下面的一段代码,用于检查数据库的文件到磁带作业,并在excel工作表中给出输出

$date = Get-Date
$day = $date.Day
$hour = $date.Hour 
$Excel = New-Object -ComObject Excel.Application
$Excel.visible = $true
$Excel.DisplayAlerts = $false
$Workbook = $Excel.Workbooks.Add()
$Sheet = $Excel.Worksheets.Item(1)
#Counter variable for rows and columns
$intRow = 1
$intCol = 1

$Sheet.Cells.Item($intRow,1) = "Tasks/Servers"     
$Sheet.Cells.Item($intRow,2) = "DateLastRun"
$Sheet.Cells.Item($intRow,3) = "PRX1CSDB01"
$Sheet.Cells.Item($intRow,4) = "PRX1CSDB02"
$Sheet.Cells.Item($intRow,5) = "PRX1CSDB03"
$Sheet.Cells.Item($intRow,6) = "PRX1CSDB11"
$Sheet.Cells.Item($intRow,7) = "PRX1CSDB12"
$Sheet.Cells.Item($intRow,8) = "PRX1CSDB13"
$Sheet.Cells.Item($intRow+1,1) = "File To Tape weekly Full Backup"
$Sheet.UsedRange.Rows.Item(1).Borders.LineStyle = 1

#FTT.txt contains the path for a list of servers
$path =  Get-Content D:\Raghav\DB_Integrated\FTT.txt

foreach ($server in $path)
{
If (Test-Path $server)
{
$BckpWeek = gci -path $server | select-object | where {$_.Name -like "*logw*"} | sort LastWriteTime | select -last 1
$Sheet.Cells.Item($intRow+1,$intCol+1) = $BckpWeek.LastWriteTime.ToString('MMddyyyy')
$Sheet.UsedRange.Rows.Item($intRow).Borders.LineStyle = 1
$x = (get-date) - ([datetime]$BckpWeek.LastWriteTime)
if( $x.days -gt 7){$status_week = "Failed"}
else{$status_week = "Successful"}
$Sheet.Cells.Item($intRow+1,$intCol+2) = $status_week
$intCol++
}
else
{
$Sheet.Cells.Item($intRow+1,$intCol+2) = "Path Not Found"
$intCol++
}
}
$Sheet.UsedRange.EntireColumn.AutoFit()
$workBook.SaveAs("C:\Users\Output.xlsx",51)
$excel.Quit()
但是,当我尝试将
Output.xlsx
的内容导入变量(比如
$cc
)时,我得到的数据格式不可读

$cc = Import-Csv "C:\Users\Output.xlsx"

附件是我将output.xlsx导出到$cc时得到的图像。我也尝试将输出设置为csv格式。但这似乎也没什么帮助。有人对此有任何想法,或者以前遇到过类似的情况吗?

@ZevSpitz-寻找OLEDB连接类,我找到了。这就是我要找的。谢谢你为我指出了正确的方向


@不幸的是,我没有在“获取帮助”菜单中找到导入Excel命令。我正在使用Powershell 4.0。无论如何,谢谢你的建议。

嗨,为什么要使用
导入CSV
xslx
CSV
不同。对不起,我是PowerShell新手。有没有一种方法可以将XLSX文件的内容导入到PuthS壳中的变量中?当然,这里您可能还需要考虑使用ADO.NET类。如果您希望避免在.NET类中做所有的工作,您也可以使用更容易处理的,并且不需要Excel出现在机器上。