Я читаю данные из базы данных, используя соединение с базой данных в Selen Webdriver и сохраняю на карте. Я создал один файл Excel для целей сопоставления. Файл Excel содержит три столбца, как показано ниже
Имя столбца Excel: field-Name Тип поля SourceMapping
Значения в столбцах row1: Таблица электронной почты email_address
Значения в столбцах row2: номер телефона Таблица phone_number
Я получаю данные от Map, которая содержит данные таблицы, которые мы сохранили в результате запроса sql, на основании if field-Name = номер телефона и SourceMapping = 'phone_number'. Я столкнулся с проблемой здесь - я могу прочитать данные из карты для поля номера телефона, но не могу записать в средствах Excel после того, как поле номера телефона выполнения становится черным, а остальная часть поля содержит правильные значения.
Если я сопоставил этот номер телефона с другим полем, например
Имя столбца Excel: field-Name Тип поля SourceMapping
Значения в столбцах row2: номер телефона Table city
тогда этот номер телефона содержит это значение. В приведенном выше примере он будет содержать значение города.
Я не уверен, почему он не записывает это значение.
Пример телефонного номера = + 1 (651) 319-1108.
Я не уверен, почему не принимаю это, поскольку я конвертирую значение в строку перед записью в Excel. Пожалуйста, помогите в этом.
Я преобразовал значение в 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 для номера телефона: +1(651)319-1108, как он пишет для другого поля. Может возникнуть проблема с форматированием ячейки. Я создаю новый Excel и записываю в него данные. конвертация в long также здесь не сработала.
Фактический результат: ячейка содержит пустое значение для поля номера телефона.