java - 方法没有签名:sample.Login.cellToString() 适用于参数类型:(org.apache.poi.xssf.usermodel.XSSFCell)
问题描述
我正在尝试使用自定义方法在第 0 行的 excel 标题名称与其索引之间进行映射
org.codehaus.groovy.runtime.InvokerInvocationException:groovy.lang.MissingMethodException:没有方法签名:sample.Login.cellToString() 适用于参数类型:(org.apache.poi.xssf.usermodel.XSSFCell) 值:[名]
这是我的代码
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.annotation.Keyword
import com.kms.katalon.core.checkpoint.Checkpoint
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling
import com.kms.katalon.core.testcase.TestCase
import com.kms.katalon.core.testdata.TestData
import com.kms.katalon.core.testdata.reader.ExcelFactory
import com.kms.katalon.core.testobject.ObjectRepository
import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.webui.keyword.internal.WebUIAbstractKeyword
import org.apache.poi.hssf.usermodel.HSSFSheet
import org.apache.poi.hssf.usermodel.HSSFWorkbook
import org.apache.poi.hssf.util.CellReference
import org.apache.poi.ss.usermodel.Cell
import org.apache.poi.ss.usermodel.Row
import org.apache.poi.ss.usermodel.Workbook
import org.apache.poi.ss.util.CellUtil
import groovy.ui.SystemOutputInterceptor
import groovy.util.ObservableList.ElementAddedEvent
import java.text.DateFormat
import java.text.SimpleDateFormat
import javax.lang.model.element.Element
import org.apache.commons.io.comparator.PathFileComparator
import org.apache.commons.lang.exception.NestableRuntimeException
import org.openqa.selenium.WebElement
import internal.GlobalVariable
import java.awt.datatransfer.StringSelection
import java.awt.Robot
import java.awt.Toolkit
import java.awt.event.KeyEvent
import java.beans.Customizer
import com.kms.katalon.keyword.excel.ExcelKeywords
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
import java.util.Map.Entry
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.json.JSONArray
import org.json.JSONObject
import java.lang.String
import com.kms.katalon.core.configuration.RunConfiguration
@Keyword
def mapping(String fileName,String sheetName){
JSONObject jo = new JSONObject();
JSONArray dataCollection = new JSONArray();
JSONObject data = null;
String pathToApp = RunConfiguration.getProjectDir() + ("\\files\\")+(fileName)
FileInputStream file = new FileInputStream (new File(pathToApp))
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheet(sheetName);
int rowNum = sheet.getLastRowNum() + 1;
int colNum = sheet.getRow(0).getLastCellNum();
Row row = null;
Cell cell = null;
Map<String, Integer> colMapByName = new HashMap<String, Integer>();
if (sheet.getRow(0).cellIterator().hasNext()) {
for (int j = 0; j < colNum; j++) {
colMapByName.put(cellToString(sheet.getRow(0).getCell(j)), j);
}
}
System.out.println(colMapByName);
for (int i = 1; i < rowNum; i++) {
row = sheet.getRow(i);
data = new JSONObject();
//colMap consists the column names and alias name for it
for (Entry<String, String> colData : colMap.entrySet()) {
cell = row.getCell(colMapByName.get(colData.getValue()));//gives the index of column from colMapByName Map by passing column name
data.put(colData.getKey(), cellToString(cell));//now the data passed to the alias for the column tobe used in application
}
dataCollection.put(data);
}
fileInputStream.close();
file.delete();
jo.put("tableData", dataCollection);
return jo;
}
怎么了 ?
解决方案
推荐阅读
- objective-c - 为什么我不能在 NSMutable 字典中设置对象
- c++ - 尝试将我的单个 Visual Studio 2010 C++ 项目构建为 exe 和 DLL,而不是再次创建新项目
- python - 战舰游戏..数据库和存储玩家数据的一些问题
- google-apps-script - 时间戳有问题
- jquery - Use update model value inside jquery function in angular 4
- python - Tensorflow - “str”对象没有属性“op” - Adam Optimizer - var_list
- c++ - XOR 在 C++ 中返回混乱的值
- javascript - Reference.child 失败:第一个参数是无效路径 =“/Users/[object Object]/device_token”
- python - 为什么我不能从列表中打印单个元组?
- c++ - 共享库中具有全局状态的 C++ 标头