7
votes

Comment lire des valeurs du fichier Excel et stockez-le dans le tableau?

Je veux lire des valeurs de feuille Excel et stocker ces valeurs dans un tableau en java.

J'ai le code prêt à lire la feuille Excel, mais je ne suis pas capable de le personnaliser pour stocker ces valeurs dans la matrice.

Voici mon code pour lire une feuille Excel: xxx


1 commentaires

Comment voulez-vous lire? Toutes les cellules de toutes les lignes dans un seul tableau? Ou toutes les cellules par rangée dans une matrice en deux dimensions ??


3 Réponses :


0
votes

Si vous voulez vraiment un tableau, vous devrez savoir combien d'éléments vous souhaitez dans la matrice lorsque vous allouez le stockage pour cela. Vous pouvez le faire au moment de l'exécution - il n'est pas nécessaire d'être connu à l'heure de la compilation - mais vous devez le faire avant de pouvoir utiliser le tableau.

Quelque part dans une section Déclarations: P>

dataArray = new String[numberOfElements];


1 commentaires

Je suis un QA et je veux utiliser ce code pour mon objectif de test. J'ai une feuille Excel ayant 5 valeurs. Et j'ai la commande de selenium de la recherche de Google dans une autre classe: selenium.type ("CSS = # GBQFQ", "Bonjour"); Maintenant, dans cette commande, je souhaite utiliser ces valeurs à partir d'une feuille Excel et exécuter cette commande en utilisant ces valeurs au lieu de "Bonjour".



3
votes
import java.io.File;
import java.io.IOException;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class NewExcel 
{

    private String inputFile;
    String[][] data = null;
    public void setInputFile(String inputFile) 
    {
        this.inputFile = inputFile;
    }

    public String[][] read() throws IOException  
    {
        File inputWorkbook = new File(inputFile);
        Workbook w;

        try 
        {
            w = Workbook.getWorkbook(inputWorkbook);
            // Get the first sheet


            Sheet sheet = w.getSheet(0);
            data = new String[sheet.getColumns()][sheet.getRows()];
            // Loop over first 10 column and lines
       //     System.out.println(sheet.getColumns() +  " " +sheet.getRows());
            for (int j = 0; j <sheet.getColumns(); j++) 
            {
                for (int i = 0; i < sheet.getRows(); i++) 
                {
                    Cell cell = sheet.getCell(j, i);
                    data[j][i] = cell.getContents();
                  //  System.out.println(cell.getContents());
                }
            }

         /*   for (int j = 0; j < data.length; j++) 
            {
                for (int i = 0; i <data[j].length; i++) 
                {

                    System.out.println(data[j][i]);
                }
            } */

        } 
        catch (BiffException e) 
        {
            e.printStackTrace();
        }
    return data;
    }


}

0 commentaires

-1
votes
package Utilities;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcellReading {

    // public Workbook workbook= null;
    // public Sheet firstSheet= null;

    public String INPUT_XLS = "/ExcelManipulation/TestExecution.xlsx";

    public ExcellReading() {
    }

    public ExcellReading(String filepath) {
        INPUT_XLS = filepath;
    }

    public Map<Integer, List<String>> ReadExcel() throws IOException {

        FileInputStream inputStream = new FileInputStream(new File("TestExecution.xlsx"));

        Map<Integer, List<String>> data = new HashMap<Integer, List<String>>();

        Workbook workbook = new XSSFWorkbook(inputStream);

        Sheet firstSheet = workbook.getSheetAt(5);

        Iterator<Row> iterator = firstSheet.iterator();

        // Test test=new Test();
        int rowCnt = 0;

        while (iterator.hasNext()) {
            Row nextRow = iterator.next();

            Iterator<Cell> cellIterator = nextRow.cellIterator();
            List<String> obj = new ArrayList<String>();
            while (cellIterator.hasNext()) {
                Cell cell = cellIterator.next();

                String cellobj = cell.getStringCellValue();

                if ("".equals(cell.getStringCellValue())) {
                    obj.add("Missing");

                } else if (cellobj.equals(null)) {
                    obj.add("");

                } else {
                    obj.add(cell.getStringCellValue());
                }

            }

            data.put(rowCnt, obj);
            rowCnt++;

        }
        return data;
    }

}

0 commentaires