我的要求是在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