2014-10-09 62 views
0

我在我的數據映射器中有一個類型爲double的元素叫做capital。這些值來自Excel電子表格。但是當沒有資本時,excel中的值是「N/A」。然後我得到映射器中出現以下錯誤:在Mule Datamapper中的字符串值返回空的腳本

產生的原因:com.opensys.cloveretl.component.spreadsheet.exception.SpreadsheetException:不能從M3 String類型的細胞在創紀錄的1場13獲得數值(「資本」),元數據

我該如何編寫映射器腳本來返回null或0,只要類型字符串的值通過?

回答

1

當您使用腳本時,可以使用數據類型上可用的任何Java方法。看起來問題在於,您不知道輸入值是否爲String(「N/A」)或小數值。爲了解決這個問題,你可以採取將其轉換爲字符串來測試它的方法,然後採取適當的行動。我目前沒有建立一個excel數據映射器,所以我沒有嘗試這個,但我認爲這樣的東西應該工作。

output.Captial = ((""+input.Capital).equals("N/A") ? 0 : input.cellValue); 

通過添加(「」 + input.Capital),你是它強制轉換爲字符串,就像它會在Java中。