需要将XML文件数据导出为ex​​cel文件

Posted

技术标签:

【中文标题】需要将XML文件数据导出为ex​​cel文件【英文标题】: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文件数据导出为ex​​cel文件的主要内容,如果未能解决你的问题,请参考以下文章

text 将数据导出为ex​​cel

csharp 将数据导出为ex​​cel

RadGrid导出为ex cel

如何在Laravel中将子数组元素导出为ex cel

text 将数组导出为ex​​cel

Excel导出xml时提示“无法保存或者导出XML数据,此工作薄中XML映射不可导出(xml映射随便导的)请问怎么办