【发布时间】:2016-09-09 22:34:34
【问题描述】:
我在使用 powershell 和 excel 时遇到问题。
首先我的powershell版本是2,excel版本是2010 x86。
我的代码是:
#Start Excel
[Reflection.Assembly]::LoadWithPartialName("Microsoft.Office.Interop.Excel") | Out-Null
$ObjXls = New-Object "Microsoft.Office.Interop.Excel.ApplicationClass"
$ObjXls.Visible = $False
$ObjXls.ScreenUpdating = $False
$ObjXls.DisplayAlerts = $False
#Open the template workbook
[String] $Private:TemplateFilePath = "$($Params['TEMPLATE_PATH'])\$TemplateFileName"
WriteLog -Message "Template file: $TemplateFilePath"
$WbXls = $ObjXls.Workbooks.open($TemplateFilePath)
$WbXls.RefreshAll()
#Counting Pivot Tables
ForEach ($sheet in $WbXls.Worksheets)
{
if ($sheet.Name -ne "LiteDB") {
[int]$count = $sheet.PivotTables.Count
[string]$sheetname = $sheet.Name
writelog ($sheetname + " --- " + $count)
For ($i = 0; $i -le $sheet.PivotTables.Count; $i++) {
if (-not $sheet.PivotTables($i).RefreshTable()) {throw "Unable to refresh PivotTable"}
$sheet.PivotTables($i).RefreshTable()
$sheet.PivotTables($i).PivotFields("Week").CurrentPage=$Currentweek
}
}
}
要明确“Writelog”命令是我创建的用于生成日志文件的库,它
有效,所以不用担心。
输出是工作表的名称和数据透视表的计数...但是:
NS --- 0, SM --- 0, QTY --- 0
在每张纸上我都有一个数据透视表,但有什么问题?为什么无法识别床单上的枢轴?
你能帮我解决这个问题吗?
【问题讨论】:
标签: excel powershell excel-2010 powershell-2.0