【问题标题】:How to get the HSSFCell string value to List<String>>如何获取 HSSFCell 字符串值到 List<String>>
【发布时间】:2013-10-19 17:44:43
【问题描述】:

我创建了一个拉第一行的方法和另一个拉测试数据的方法。我无法使用list.add() 将单元格直接添加到列表中,如何将它们转换为字符串并添加到列表中

public class read {

    HSSFCell cell;
    HSSFRow row;
    HSSFWorkbook wbk;
    HSSFSheet sheet;
    List<HSSFCell> cellTempList;

    Hashtable<String, String>[] data = null;    
    Iterator CIterator;
    List<List<HSSFCell>> list;
    HSSFFormulaEvaluator HFE = new HSSFFormulaEvaluator(wbk);

    @SuppressWarnings("unchecked")
    public String[] readFirstRow() throws IOException{
    InputStream ipstream = new FileInputStream(new File("C:\readfile.xls"));
    wbk = new HSSFWorkbook(ipstream);

        sheet = wbk.getSheetAt(0);
        row = sheet.getRow(0);
        int numberofCells = row.getPhysicalNumberOfCells();
        Object result;
        String[] firstRow = new String[numberofCells];

        for(int i = 0; i<= numberofCells; i++){
            CIterator = row.cellIterator();
            while(CIterator.hasNext()){
                CIterator.next();
        HSSFCell cellFirstRow = row.getCell(i);

      switch(cellFirstRow.getCellType()){
      case Cell.CELL_TYPE_BOOLEAN:
          result = cell.getBooleanCellValue();
          break;
      case Cell.CELL_TYPE_NUMERIC:
          result = cell.getNumericCellValue();
          break;
      case Cell.CELL_TYPE_STRING:
          result = cell.getStringCellValue();
          break;
      }

        for(int j=0; j<=numberofCells; j++){
            firstRow[i] = result.toString();
        }
        }


          return firstRow;

      }

        public void getNextRow(){

            Object obj;

            list = new ArrayList<List<HSSFCell>>();
             cellTempList = new ArrayList<HSSFCell>();
            HSSFRow rowNext = sheet.getRow(1);
            Iterator rowIterator = sheet.rowIterator();

            while (rowIterator.hasNext()) {
                rowIterator.next();

            CIterator = rowNext.cellIterator();

            for(int j = 0; j<= rowNext.getPhysicalNumberOfCells();j++){


            while (CIterator.hasNext()) {
                CIterator.next();


                //HSSFCell cell = rowNext.getCell(numberofCells);


              cellTempList.add(cell);
            }
            list.add(cellTempList);
            }           
        }

}

【问题讨论】:

    标签: java apache selenium data-driven


    【解决方案1】:

    如果您的单元格包含字符串值,您可以使用 .. 获取它

    String value = cell.getRichStringCellValue().getString();
    

    .. 然后将其添加到 List&lt;String&gt; 对象

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-24
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 2012-04-06
      • 1970-01-01
      相关资源
      最近更新 更多