2014-10-09 63 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中。