我有一个网络元素列表,我需要将列表中的每个元素写入 Excel 中的单独单元格中。目前,例如,当我在列表中有 2 个元素时,第二个元素会删除单元格中的第一个元素。
List<WebElement> products = driver.findElements(By.xpath("//label[contains(text(),'Size')]"));
for (WebElement product:products){
SetCellData(product.getText(),1,0);
最佳答案
所以这取决于您想要的数据方式。
我猜你正在使用 apache poi。或类似的东西
您的循环不会在工作簿中移动,它只是写入同一个单元格
这是我从教程中提取的示例
//This data needs to be written (Object[])
Map< String, Object[] > empinfo =
new TreeMap<>();
empinfo.put( "1", new Object[] { "EMP ID", "EMP NAME", "DESIGNATION" });
empinfo.put( "2", new Object[] { "tp01", "Gopal", "Technical Manager" });
empinfo.put( "3", new Object[] { "tp02", "Manisha", "Proof Reader" });
empinfo.put( "4", new Object[] { "tp03", "Masthan", "Technical Writer" });
empinfo.put( "5", new Object[] { "tp04", "Satish", "Technical Writer" });
empinfo.put( "6", new Object[] { "tp05", "Krishna", "6546984651685465132198651324984351" });
//Iterate over data and write to sheet
Set< String > keyid = empinfo.keySet();
int rowid = 0;
for (String key : keyid) {
row = spreadsheet.createRow(rowid++);
Object [] objectArr = empinfo.get(key);
int cellid = 0;
for (Object obj : objectArr) {
Cell cell = row.createCell(cellid++);
cell.setCellValue((String)obj);
}
}
因此,如果您希望每个元素位于 1 行中。您将执行 Cell cellToFill = row.createCell(nextCellColNumber)
如果你想要一个垂直列表,它将创建行创建单元格(0)并在那里设置值
关于java - 将多个数据写入 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52322018/