使用硒中的Apache Poi将地图中的数据写入+1 (651)229-1756等电话号码的Excel文件中

时间:2019-05-30 09:32:48

标签: java excel apache-poi

我正在使用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也没有在这里工作。

实际结果:该单元格包含电话号码字段的空白值。

0 个答案:

没有答案