【问题标题】:Reading multiple columns for a row from excel, in java?在java中从excel中读取一行的多列?
【发布时间】:2019-05-29 17:56:11
【问题描述】:

我想阅读具有测试用例前置条件列/预期结果列等的 excel 电子表格 (.xlxs)。我如何读取特定行的多列。 Everyrow(first Column) 是一个测试用例名称。

我能够读取一行和两列,但不确定如何读取同一行的多列。我也不想在阅读时对 column#,row# 进行硬编码。有什么建议吗?

 Map<String,String> arrayExcelData = new Hashtable<String,String>();            
    Iterator<Row> rowIterator = sheet.iterator();

    while (rowIterator.hasNext()) 
    {

      Row row = rowIterator.next();

      Cell methodNameCol = row.getCell(0);
      Cell expectedResults = row.getCell(1);

     if (expectedResults != null && methodNameCol !=null) 
      {
  arrayExcelData.put(methodNameCol.getStringCellValue(),expectedResults.getStringCellValue());
        }
     workbook.close();
}     

【问题讨论】:

    标签: java excel iterator


    【解决方案1】:

    Row 类提供了返回该 Row 实例中第一个和最后一个单元格(又名列)的索引的方法。使用这些索引来遍历列:

    Row row = rowIterator.next();
    short firstCellNumber = row.getFirstCellNum();
    short lastCellNumber = row.getLastCellNum();
    for(short cellNumber = firstCellNumber; cellNumber < lastCellNumber; cellNumber++) {
        Cell dataCell = row.getCell(cellNumber);
        //Do something with the dataCell here
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多