[英]How to write on already open excel sheet in Selenium using java
我有2個Excel工作表。 目前,我的要求是,我需要對excel列值執行一些操作,並將該值寫入上述excel表格之一。 下面我提到了我的代碼,但是它在row3行拋出錯誤。
File file=new File("D:\\Udaya files\\D-udaya files\\desktop_udaya files\\markting\\Gartner Dashboard\\Gartner Dashboard 28-12-2018\\AdminReportHTCoverPage.xlsx");
XSSFWorkbook wb=new XSSFWorkbook(file);
XSSFSheet sheet=wb.getSheetAt(1);
XSSFRow row=null;
int rowcount=sheet.getLastRowNum()+1;
File dashboard=new File("D:\\Udaya files\\D-udaya files\\desktop_udaya files\\markting\\Gartner Dashboard\\Gartner Dashboard 28-12-2018\\Weekly Dashboard_Garner users FY 18.xlsx");
XSSFWorkbook wb1=new XSSFWorkbook(dashboard);
XSSFSheet sheet1=wb.getSheet("December 28th");
XSSFRow row1=null;
int dashcount=sheet.getLastRowNum()+1;
int free=0;
int paid=0;
int paid_count=0;
for(int i=0;i<dashcount;i++)
{
String name=sheet1.getRow(i).getCell(1).getStringCellValue();
for(int j=0;j<rowcount;j++)
{
String firstname=sheet.getRow(i).getCell(1).getStringCellValue();
if(name.equals(firstname))
{
if(sheet.getRow(i).getCell(3).getStringCellValue()== "0" || sheet.getRow(i).getCell(3).getStringCellValue()== "")
{
free=free+1;
}
else
{
int value= (int) sheet.getRow(i).getCell(3).getNumericCellValue();
paid=paid+value;
paid_count=paid_count+1;
}
}
Row row3=sheet1.getRow(i);
row3.getCell(2).setCellValue(free);
row3.getCell(3).setCellValue(paid_count);
row3.getCell(4).setCellValue(paid);
}
}
getLastRowNum()對於sheet1文件不能正常工作。 它沒有顯示正確的數字。
XSSFSheet.getLastRowNum()
從零開始。 這就是為什么您認為如果得到row number - 1
結果row number - 1
並不能代表正確的數字。
如果Excel工作表中的行號為5
,則XSSFSheet.getLastRowNum()
將返回4。
您還可以在下面的鏈接中找到良好的示例; http://poi.apache.org/components/spreadsheet/quick-guide.html
您在代碼中遇到哪種錯誤?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.