gpt4 book ai didi

java - 无法使用 selenium 中的 poi jar 将所有记录写入 Excel 表中

转载 作者:行者123 更新时间:2023-12-02 09:49:23 24 4
gpt4 key购买 nike

我必须将从网站获取的记录保存在 Excel 工作表中。我有 50 条不同的记录,其中只有最后一条记录在 Excel 中写入了 50 次。你能帮我吗感谢大家

List<WebElement> xpath11 = m.findElements(By.xpath(".//tr[contains(@id, 'rcmrow')]"));
int count = xpath11.size();
System.out.println(count);
for (WebElement link : xpath11) {
String sd = link.getText();
System.out.println(sd);
File source = new File("/home/dev2/Desktop/readexcell.xlsx");
FileOutputStream input = new FileOutputStream(source);
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("data");

int i;

for (i = 0; i < count; i++) {
XSSFRow excelRow = sheet.createRow(i);
XSSFCell excelCell = excelRow.createCell(0);
excelCell.setCellType(CellType.STRING);
excelCell.setCellValue(sd);
}

wb.write(input);
}

最佳答案

您正在为外部 for 循环中的每个 WebElement 重新创建 Excel 文件,并在内部 for 中一遍又一遍地写入其文本环形。您需要在 for 之前创建文件并仅使用一个循环

File source = new File("/home/dev2/Desktop/readexcell.xlsx");
FileOutputStream input = new FileOutputStream(source);
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("data");

List<WebElement> xpath11 = m.findElements(By.xpath(".//tr[contains(@id, 'rcmrow')]"));
int count = xpath11.size();
for (int i = 0; i < count; i++) {
String sd = xpath11.get(i).getText();
System.out.println(sd);
XSSFRow excelRow = sheet.createRow(i);
XSSFCell excelCell = excelRow.createCell(0);
excelCell.setCellType(CellType.STRING);
excelCell.setCellValue(sd);
}

wb.write(input);

关于java - 无法使用 selenium 中的 poi jar 将所有记录写入 Excel 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56421311/

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