我正在使用Selenium Webdriver中的数据库连接从数据库读取数据,并存储在Map中。我已经创建了一个用于映射目的的Excel文件。 Excel文件包含三列,如下所示:
Excel列名称:字段名称字段类型SourceMapping
列1中的值:电子邮件表email_address
第2列中的值:电话号码表phone_number
我从Map中获取数据,其中包含表数据,我们根据字段名称=电话号码和SourceMapping ='phone_number'存储了sql查询的结果。我在这里面临问题-我能够从地图中读取电话号码字段的数据,但执行电话号码字段为黑色,其余字段包含正确值后,却无法以excel方式写入。 如果我将此电话号码映射到其他字段,例如
Excel列名称:字段名称字段类型SourceMapping
第2列的值:电话号码表城市
然后该电话号码包含该值。在上面的示例中,它将包含城市价值。
我不确定为什么不写这个值。 样本电话号码= + 1(651)319-1108。
我不确定为什么不使用它,因为我在将值写入字符串之前将其转换为字符串。请对此提供帮助。
我已经在Long.parseLong(value)
中转换了值,但是没有用。
for(int j=1;j<=Mapsheet.getLastRowNum();j++)
{
if(CommonUtilities.CommonLibrary.Map.Map(Mapsheet, "Field-Type", j).equalsIgnoreCase("Table"))
{
for(Entry<String, Object> entry:tabledata.entrySet())
{
if(entry.getKey().toString().equals("contacts.phone_number")) {
System.out.println("Actual in database :" + entry.getValue().toString());
} //comment here phone number value is coming from database as +1(651)319-1108.
对于下面的代码,我不确定为什么不将其写入excel,因为我将其转换为String,然后在输出单元格中也显示为空白。
if(entry.getKey().toString().contains( CommonUtilities.CommonLibrary.Map.Map(Mapsheet, "SourceMapping", j)))
{
String Value="";
try {
Value=entry.getValue().toString();
System.out.println("phone_number break point"+Value);
}
catch(Exception e)
{
//e.printStackTrace();
Value="";
}
ResultSheet.getRow(i)
.createCell( CommonUtilities.CommonLibrary.Map.getColumnIndex( ResultSheet, CommonUtilities.CommonLibrary.Map.Map(Mapsheet, "Field-Name", j) ) )
.setCellValue(Value);
break;
}
}
}
预期结果:代码应将数据写入excel单元格中,用于phone_number:+1(651)319-1108,因为它正在写入另一个文件。单元格格式化可能存在任何问题。我正在创建新的Excel并将数据写入其中。转换为long也没有在这里工作。
实际结果:该单元格包含电话号码字段的空白值。