我正在製作一個腳本,它將通過2,000個XML文件解析數據&然後將其輸出到Excel文件。 這是我到目前爲止有:解析XML和輸出到Excel
#Get XML File
$path = Get-ChildItem C:\Users\bcamareno\Desktop\xml\xml
#Start Excel
$xl=New-Object -ComObject "Excel.Application"
$wb=$xl.Workbooks.Add()
$ws=$wb.ActiveSheet
$cells=$ws.Cells
$cells.item(1,1)="HDD Report"
$cells.item(1,1).font.bold=$True
$cells.item(1,1).font.size=18
#Rows & Cols
$row=3
$col=1
$A=4
$B=4
$C=4
$D=1
$E=2
$F=3
#column headings
"Server","Disk0","Disk1","Disk2","Disk3","Disk4","Disk5","Disk6","Disk7" | foreach {
$cells.item($row,$col)=$_
$cells.item($row,$col).font.bold=$True
$col++
}
#Site Code
foreach ($item in $Path) {
$cells.item($A,$D)= $item -replace "_pdisk.xml",""
$A++
}
#Grab ProductID
foreach ($item in $Path) {
[xml]$content = Get-Content "c:\Users\bcamareno\Desktop\xml\xml\$item"
$try= $Content.SelectNodes('//ProductID') | select "#Text"
$cells.item($B,$E)= $try -replace "@{#text=","" -replace "}",""
$B,$E++
}
$xl.Visible=$True
但是當我運行它,數據出來不對勁,好像這只是解析的最後一個文件&然後補充說,結果給細胞。
如果需要,我可以添加一個XML。
感謝您的答覆。那麼獲得$ B和$ E增加的正確方法是什麼?因爲我嘗試了幾件事情,但都沒有成功。 –
'$ E' * *正在增加。只有'$ B'不是,因爲'$ B,$ E ++'不會增加'$ B'。 $ a = 1; $ b = 2; $ a,$ b ++; $ a,$ b ++;' - '$ a'保持在'1','$ b'增量。你想要的是'$ B ++; $ E ++'(由於這個評論框的限制,格式化一點點)。 – alroc
再次感謝。我改變了你的建議,它仍然以錯誤的順序出現。我可以給你一個截圖,如果你給我你的電子郵件.. –