데이터 용 XML 파일 2,000 개를 구문 분석하여 데이터 파일 &을 구문 분석하여 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, $ E ++'는'$ B'를 증가시키지 않기 때문에'$ B'만이 아닙니다. '$ a = 1; $ b = 2; $ a, $ b ++, $ a, $ b ++;'-'$ a'는'1','$ b' 단위로 유지됩니다. 당신이 원하는 것은'$ B ++; $ E ++'이다. (이 주석 상자의 한계로 인해 약간의 형식을 정한다.) – alroc
다시 한번 감사드립니다. 나는 그것을 당신이 제안한 것으로 바꾸었고 여전히 잘못된 순서로 나온다. 내게 이메일을 보내면 스크린 샷을 보낼 수 있습니다 .. –