简体   繁体   English

无法从 NUMERIC 单元格中获取 STRING 值

[英]Cannot get a STRING value from a NUMERIC cell

I am trying to enter Postal Code (V9G1Y3) in my selenium script from excel but it is throwing error.我正在尝试在 excel 的 selenium 脚本中输入邮政编码 (V9G1Y3),但出现错误。 Code is as follows-代码如下——

cell = sheet.getRow(i).getCell(3);
driver.findElement(postalCode).sendKeys(cell.getStringCellValue());

Below error message is received -收到以下错误消息 -

    java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC 
    cell
    at org.apache.poi.hssf.usermodel.HSSFCell.typeMismatch(HSSFCell.java:654)
    at 
 org.apache.poi.hssf.usermodel.HSSFCell.getRichStringCellValue(HSSFCell.java:731)
    at org.apache.poi.hssf.usermodel.HSSFCell.getStringCellValue(HSSFCell.java:714)
    at sweta.NewTest.ReadData(NewTest.java:97)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:580)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:716)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:988)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
    at org.testng.TestRunner.privateRun(TestRunner.java:648)
    at org.testng.TestRunner.run(TestRunner.java:505)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
    at org.testng.SuiteRunner.run(SuiteRunner.java:364)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
    at org.testng.TestNG.runSuites(TestNG.java:1049)
    at org.testng.TestNG.run(TestNG.java:1017)
    at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

The application is not receiving the Postal Code.该应用程序未收到邮政编码。

Any suggestions from anyone?任何人有什么建议吗?

From the error, I understand that you are trying to fetch the pincode value from excel sheet using cell.getStringCellValue() where the cell type is not text or General but number . 从该错误中,我了解到您正在尝试使用cell.getStringCellValue()从excel表中获取pincode值,其中单元格类型不是textGeneral而是number

I recommend you to format the cell holding the pincode value to General and that will resolve the error. 我建议您将保存密码的单元格格式设置为“ General ,这样可以解决该错误。

在此处输入图片说明

You might use setCellType to String then you can get the String values.您可以使用 setCellType to String 然后您可以获得 String 值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM