【问题标题】:Code to read from excel sheet is not working从 Excel 工作表读取的代码不起作用
【发布时间】:2014-01-01 07:26:33
【问题描述】:

我有以下代码可以从测试文件中读取并在控制台上打印它,但它没有打印任何东西,我不知道如何检查它产生的错误。我用的是java,selenium,即10,win 8。

public class Rowcount {
    public static void main(String[] args) throws BiffException, IOException {
        FileInputStream exo=new FileInputStream("E:\\Test filee.xlsx");
        Workbook wbo=Workbook.getWorkbook(exo);
        Sheet wso=wbo.getSheet(0);
        int lastrownum;
        lastrownum= wso.getRows();
        System.out.println(lastrownum);
    }
}

【问题讨论】:

  • ""E:\\Test filee.xlsx"" 引用两次...它正在编译吗??你有什么异常吗??
  • 确定正确吗? ""E:\\Test filee.xlsx""
  • 对不起,我在编译之前在代码中编辑了这个。

标签: java selenium excellibrary


【解决方案1】:

您在使用 JExcelApi 吗?如果是这样,我认为它不支持 Excel 2007 及更高版本。您可以考虑查看Apache POI

【讨论】:

    【解决方案2】:

    jxl 不适用于 xlsx。尝试使用 apache poi 来实现

    这段代码被错误引用了

    FileInputStream exo=new FileInputStream(""E:\\Test filee.xlsx"");
    

    您需要删除多余的引号

    【讨论】:

      【解决方案3】:

      以下代码对我有用:

      import java.io.File;
      import java.io.IOException;
      
      import jxl.Cell;
      import jxl.CellType;
      import jxl.Sheet;
      import jxl.Workbook;
      import jxl.read.biff.BiffException;
      
      public class ReadExcell {
      public static void main(String[] args) {
      ReadExcell.ExcelFile("D:\\rptViewer.xls");
      }
      
      /*
      * Read excel file using j excel file
      */
      public static String ExcelFile(String path){
      StringBuilder excelContent = new StringBuilder();
      
      try
      {
      Workbook workbook = Workbook.getWorkbook(new File(path));
      Sheet sheet = workbook.getSheet(0);
      
      excelContent = new StringBuffer();
      
      for(int rows = 0 ; rows < sheet.getRows() ; rows++){
      StringBuffer row = new StringBuffer();
      for(int colums = 0 ; colums < sheet.getColumns() ;colums++){
        Cell cell = sheet.getCell(colums, rows);
      if(cell.getType() == CellType.LABEL){
      row.append(cell.getContents()+ ",");
      }else
      if(cell.getType() == CellType.NUMBER){
      row.append(cell.getContents()+ ",");
      }
      }
      
      excelContent.append(row.toString());
      System.out.println(row.toString());
      }
      
      } catch (BiffException e) {
      e.printStackTrace();
      } catch (IOException e) {
      e.printStackTrace();
      }    
      
      return excelContent.toString();
      }
      }    
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多