gpt4 book ai didi

java - 每次调用函数时将数据写入 Excel 文件中的新行

转载 作者:行者123 更新时间:2023-12-01 09:44:14 25 4
gpt4 key购买 nike

每次在 selenium webdriver 中调用该函数时,我都尝试将数据写入新行

我写的函数如下

public class ExcelFunctions 
{


XSSFSheet sh;

int i=0;

public boolean entertestcaseinexcel(String tcnumber, String description, String value) throws IOException
{
boolean status = true;

try
{

XSSFRow row = sh.createRow(i);

row.createCell(0).setCellValue(tcnumber);
row.createCell(1).setCellValue(description);
row.createCell(2).setCellValue(value);
i++;
}

catch(Exception e)
{
status = false;
}
return status;
}

}

我在这里调用上面的函数

import Selenium.ExcelFunctions;

public class ExcelWrite {



public static void main(String[] args) throws IOException
{


ExcelFunctions EF = new ExcelFunctions();

File file = new File("D:\\Selenium_Training\\SeleniumNewFile.xlsx");
FileInputStream fis = new FileInputStream(file);

XSSFWorkbook wb = new XSSFWorkbook(fis);

XSSFSheet sh = wb.getSheetAt(0);

EF.entertestcaseinexcel("TC001", "Successfully Logged in", "Pass");

FileOutputStream fout = new FileOutputStream(file);

wb.write(fout);

fout.close();


}

}

问题是我能够运行脚本,但我没有将任何值写入 Excel。

您能帮忙吗,先谢谢了。

最佳答案

您已在 Entertestcaseinexcel 函数中对单元格编号值进行硬编码。从方法的调用者那里获取该值。下面是您可以使用的示例代码 -

public static void writeTestResultToXLSX(File scenarioFile, String testCaseID, int cellNo, resultEnum rEnum) {
FileInputStream fis;
try {
fis = new FileInputStream(scenarioFile);

XSSFWorkbook workbook = (XSSFWorkbook) WorkbookFactory.create(fis);
XSSFSheet sheet = workbook.getSheetAt(0);
int rowNum = Integer.parseInt(testCaseID);
Row row = sheet.getRow(rowNum);
row.createCell(cellNo).setCellValue(rEnum.toString());
fis.close();
FileOutputStream fos = new FileOutputStream(scenarioFile);
workbook.write(fos);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (EncryptedDocumentException e) {
e.printStackTrace();
} catch (InvalidFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

在上面的代码中,scenarioFile是你想要读取的excel文件的名称,cellNo是你想要写回结果的cellNo,rEnum是具有预定义值的Enum - PASS和FAIL。通过以下方式,您可以调用此函数 -

ApachePOIMethods.writeTestResultToXLSX(scenarioFile, testCaseID, XLSXresultCell, resultEnum.FAIL);

要确保的一件事是不要对任何内容进行硬编码,完整的代码很大,因此无法在此处复制粘贴以保持答案简短,您可以找到完整的脚本 here.

关于java - 每次调用函数时将数据写入 Excel 文件中的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38197263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com