我的要求是在Excel中搜索一个值(消息ID)并获取该行的其他列值(源和目标)并形成一个XML。通过从Java中提取Excel中的值来形成XML
说我的Excel看起来象下面这样:
Message ID Output Source Target
@A74104I @A74104O IPT CRD
@A74101 @A74101 IAP CRD
@A74101 @A74101 IAP CRD
@A74104I @A74104O IAP CRD
对于例如对于消息ID A74104I,提取源和目标并如下所示形成一个XML。该messageID重复,并且有2个源和目标被附加在相同的XML中。
<ApplicationParameters>
<Parms name="default" type="default">
<SGHeader>
<ServiceName>
<TargetApplication>
<IAP>CRD</IAP>
<IPT>CRD</IPT>
</TargetApplication>
</ServiceName>
</SGHeader>
</Parms>
对于每个MESSAGEID创建不同的XML。 如果特定MESSAGEID源重复(例如,在上述Excel进行A74101来源IAP是一样的),然后把这个MESSAGEID一个异常文件,如果你想这样做在Java中,它看起来像<MessageID> <A74101/> </MessageID>
可能还有其他方法可以做到这一点(例如使用Visual BASIC),但这是一项极好的任务,可以使用bash,perl,python或powershell自动完成(如果您需要它!)如果您以csv格式存储excel,则更容易)。你想自动化它还是只需要它像excel中的按钮,用户以交互方式运行? – blackpen
@blackpen在上面的场景中MessageId从一个文件作为输入传递,我不熟悉其他脚本。 –
那么,这是否意味着你想自动化它?当你说你想从第一个文件中提取一个MessageId,然后你想在excel中搜索那个特定的MessageId并且创建一个XML消息(可能把生成的xml消息写入第三个文件)时,这听起来像是自动化。你有把excel作为csv文件存储的好处吗?如果可以的话,你可以使用VBScript或PowerShell脚本自动化整个事情。如果您使用的是非Unix(非Linux)平台(Windows?),那么这将是一条很好的路线。 – blackpen