需要将XML文件数据导出为excel文件
Posted
技术标签:
【中文标题】需要将XML文件数据导出为excel文件【英文标题】:Need to export the XML file data to excel file 【发布时间】:2022-01-23 09:43:11 【问题描述】:我有 XML 文件。我想使用 vbscript 或 powershell 将 XML 文件中的一些数据导出到 excel 文件。这里是示例 XML 文件。我只需要导出下面给定的 xml 数据中包含的参数数据
【问题讨论】:
那么,当您尝试这样做时发生了什么?您面临什么问题? 我尝试使用 power shell 和 vbscript 处理不同的脚本文件。我收到错误或没有输出 SO 不是编码服务,因此您需要添加您的最佳尝试以及您遇到的错误。否则很难猜出你的代码有什么问题。 $XMLfile = 'e:\events.xml' [XML]$Events = Get-Content $XMLfile foreach($Events1 in $Events.Events.UserData) Write-Host "Employee Id : " $Events1.Param1 #Write-Host "Employee mail Id :" $Events1.mailId #Write-Host "Employee Name :" $Events1.empName Write-Host '' 我尝试过的脚本,但执行脚本时没有任何反应 Edit 问题并将 Powershell 代码放在那里。很难从 cmets 读取代码,而且这些代码无论如何都是短暂的。没有语法高亮,也没有换行符。 SO 不是一个讨论区,所以不要尝试使用 cmets。 【参考方案1】:我发现这个forum post 显示了一个非常相似问题的答案。
此解决方案假定您可以使用 PowerShell 检索数据。
# specify filter for events to retrieve
$filter = @
LogName = 'Microsoft-Windows-PrintService/Operational'
ID=307
# retrieve events and convert to xml
[xml[]]$xml = Get-WinEvent -filterHashTable $filter | %$_.ToXml()
# extract events from xml
$events = $xml | Select-Xml '//x:Event' -Namespace @ x = 'http://schemas.microsoft.com/win/2004/08/events/event' | Select-Object -ExpandProperty Node
# convert "Param*" nodes to CSV
$events | %$_.UserData.DocumentPrinted | select Param* | Export-Csv C:\path\to\307-events.csv -NoTypeInformation
这会将所有“Param*”节点放入指定文件中,然后可以在 Excel 中打开该文件。
【讨论】:
感谢上面的脚本完美地工作,我例外。感谢所有成员(个人感谢 Guenther Schmitz) @Arunkumar 那你为什么从来不accept an answer ??以上是关于需要将XML文件数据导出为excel文件的主要内容,如果未能解决你的问题,请参考以下文章