【问题标题】:how to write values obtained using List and Iterator in a excel file using apache poi and selenium webdriver如何使用 apache poi 和 selenium webdriver 在 excel 文件中写入使用 List 和 Iterator 获得的值
【发布时间】:2021-05-30 23:55:39
【问题描述】:

您好,我需要存储一个值列表,这些值是我使用 List 和 Iterator 使用 selenium webdriver 从网页获得的,我想将这些值存储/写入 Excel 表中 网站链接:https://www.zigwheels.com/used-car 我已经获得了流行车型下的值列表,我需要使用 apache poi 将其存储在 excel 表中

编码从这里开始: WebElement li= driver.findElement(By.xpath("//span[text()='品牌和型号']//parent::div//followingsibling::div//child::div[4]/ul"));

    List<WebElement> alloptions=li.findElements(By.tagName("li"));   
    Iterator<WebElement> itr=alloptions.iterator();
    while(itr.hasNext()) {
        WebElement lii=itr.next();
        String list=lii.getText();
        System.out.println(list);

【问题讨论】:

    标签: java selenium selenium-webdriver apache-poi


    【解决方案1】:

    创建文件,然后是工作表,然后是行,并在行中填充单元格:

    public void CreateNew_Make_BeckupFile() throws IOException
        {
    String filePath = "filepath.xls";
           
            File f = new File(filePath); 
            if (!(f.exists() && f.isFile())) 
            {
                    
                Workbook workbook = new XSSFWorkbook(); // new HSSFWorkbook() for generating `.xls` file
    
                /*
                 * CreationHelper helps us create instances of various things like DataFormat,
                 * Hyperlink, RichTextString etc, in a format (HSSF, XSSF) independent way
                 */
                CreationHelper createHelper = workbook.getCreationHelper();
    
                for (int p = 0; p < listaTimova.size(); p++) {
                    // Create a Sheet
                    // Sheet sheet = workbook.createSheet("Employee");
                    SheetCreation (workbook, p);
                }
                // Write the output to a file
                FileOutputStream outputStream = new FileOutputStream(filePath);
                workbook.write(outputStream);
                // Closing the workbook
                workbook.close();
                outputStream.close();       
            } 
    
     public void SheetCreation (Workbook workbook, int teamNumber)
            {
                CreationHelper createHelper = workbook.getCreationHelper();
                
                Sheet sheet = workbook.createSheet("Sheet Name");
                
                // Create a Font for styling header cells
                Font headerFont = workbook.createFont();
                headerFont.setBold(true);
                headerFont.setFontHeightInPoints((short) 14);
                headerFont.setColor(IndexedColors.BLUE.getIndex());
        
                // Create a CellStyle with the font
                CellStyle headerCellStyle = workbook.createCellStyle();
                headerCellStyle.setFont(headerFont);
        
                // Create a Row
                Row headerRow = sheet.createRow(0);
        
                // Create cells
                for (int i = 0; i < columns.length; i++) {
                    Cell cell = headerRow.createCell(i);
                    cell.setCellValue(columns[i]);
                    cell.setCellStyle(headerCellStyle);
                }
                
                headerFont.setColor(IndexedColors.BLACK.getIndex());
                headerCellStyle.setFont(headerFont);
        
                for (int u = 0; u < listaTimova.get(teamNumber).listaIgracaTima.size(); u++)
                {   
                    Row headerRow2 = sheet.createRow(u + 1);
                    **RowCreation(headerRow2, teamNumber, u, 0);**      
                }
                
                for(int i = 0; i < columns.length; i++) 
                {
                    sheet.autoSizeColumn(i);
                }
            }
        
        
        **public void RowCreation(Row row, int teamNumber, int playerNumber, int cellNumber)** 
            {
                
                row.createCell(cellNumber, CellType.STRING).setCellValue("Any value for cell");
                row.createCell(cellNumber+1, CellType.STRING).setCellValue("next cell in row value...");
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 2014-12-05
      • 1970-01-01
      • 2016-03-13
      • 1970-01-01
      相关资源
      最近更新 更多