我想在地图中放入不同的值,并使用POI库将它们写入excel文件中。我有两个问题,如果有人可以回答它们会很棒
1)我想在地图的不同阶段放置不同的值,并将它们写在excel的不同列中。例如。在第1页,我有一个值A,我想放在地图中,在第2页,我有一个值B和C,我想把它放入地图。我想在excel的不同列中写下这些值。
2)我可能再次访问第1页和第2页,那时我希望将这些值A和B写入新的ROW中。如何每次增加行并在新行中写入这些值,我再次访问第1页和第2页。
我写了类似的东西,
Map<String, Object[]> putdatainMap;
String orderid=driver.findElement(By.id("ORDER_ID")).getAttribute("value");
putdatainMap.put(orderid, ?)//This I get from page1
String txnid=driver.findElement(By.name("TXN_ID").getAttribute("value");
putdatainMap.put(txnid,?)//I don't want to lose the orderid which I got earlier, rather I want to put the orderid and txnid in different columns)
String status=driver.findElement(By.id("status").getAttribute("value");
putdatainMap.put(status,?)//The txn id and status I get from page2
现在我想在excel文件中编写上述值并执行某些操作,当我重新启动此流时,新值应该出现在新行中。
Set <String> keyset = putdatainMap.keySet();
int rownum = 0;
for (String key : keyset)
{
Row row = sheet.createRow(rownum++);
Object [] objArr = data.get(key);
int cellnum = 0;
for (Object obj : objArr)
{
Cell cell = row.createCell(cellnum++);
if(obj instanceof String)
cell.setCellValue((String)obj);
else if(obj instanceof Integer)
cell.setCellValue((Integer)obj);
}
}
try
{
FileOutputStream out = new FileOutputStream(new File(filepath +"/"+filename+".xlsx"));
workbook.write(out);
out.close();
System.out.println("Data written to drive sucessfully");
}
catch (Exception e)
{
e.printStackTrace();
}
}